在调整大小后,如何使用javascript在单独的窗口中打开图像?

时间:2010-12-13 07:42:43

标签: javascript image resize

这是我必须为我重新调整图像大小的代码。我不知道该怎么做是让代码在重新调整大小后打开图像。

所以我希望它是

  1. 调整图像大小(已经这样做了。)
  2. 重新调整图像大小后,在另一个窗口中打开它
  3. 这是为我重新调整图像大小的代码。

    function resize(which, max) {
        var elem = document.getElementById(which);
          if (elem == undefined || elem == null) return false;
         if (max == undefined) max = 1024;
        if (elem.width > elem.height) {
          elem.width = max;  
         elem.height = 768;
        }
       }
    

3 个答案:

答案 0 :(得分:0)

该代码实际上并没有调整图片大小,只是改变了它的显示方式。如果在单独的窗口中下载或打开图像,则它将是原始图像的尺寸。我认为没有办法通过JavaScript修改图像。

但是,您可以做的是找到一个可以为您执行此操作的程序,并通过Ajax调用来调用它。例如,我认为Gimp可以处理它,如果你可以从PHP脚本调用它,那么你可以通过Ajax调用调用该PHP脚本并显示它。这是一个复杂的解决方案,但这是我能想到的最好的。

答案 1 :(得分:0)

正如tjameson所指出的,JavaScript并没有真正调整你的图像大小。

如果您想将此图像带到新窗口,可以使用以下方法:

var im = document.getElementsByTagName('img')[0];
var w = window.open("");
var b = w.document.body;
b.appendChild(im);

如果要显示调整大小,可以在此图像上应用调整大小功能。

答案 2 :(得分:0)

我将所需的代码附加到初始调整大小函数

    function resize(which, max) 
    {
        var elem = document.getElementById(which);
        if (elem == undefined || elem == null) return false;
        if (max == undefined) max = 1024;
        if (elem.width > elem.height) 
        {
            elem.width = max;  
            elem.height = 768;
        }
        var f = window.open("", "_blank", "height=500, width=600,toolbar=0, menubar=0, scrollbars=1, resizable=1,status=0, location=0, left=10, top=10");
        f.document.title = elem.alt;
        f.document.body.innerHTML += '<img src="'+elem.src+'" height="'+elem.height+'" width="'+elem.width+'" alt="'+elem.alt+'">';


}