Javascript获取图像大小onload

时间:2015-05-13 15:18:29

标签: javascript

我看到关于我的问题的类似帖子,但他们只显示宽度和高度。但我必须返回这些变量以便以后使用它们。

这是我的代码,我总是" 0" ;

var img = new Image();
img.src = "my_image.jpg";
newWidth = 0;
wnewHeight = 0;
img.onload = function() {
newWidth = (img.width*0.5);
newHeight = (img.height*0.5);
//return [newWidth , newHeight];
}

alert (newWidth);

2 个答案:

答案 0 :(得分:0)

使用this代替img

此外,您需要将警报放在回调函数中,因为图像是异步加载的。所以

 var img = new Image();
    img.src = "my_image.jpg";
    newWidth = 0;
    wnewHeight = 0;
    img.onload = function() {
    newWidth = (this.width*0.5);
    newHeight = (this.height*0.5);

    alert (newWidth);

    return [newWidth , newHeight];
    }

答案 1 :(得分:0)

以下是我修复它的方法。我在变量X中处理了onload返回:

var img = new Image();
img.src = "my_image.jpg";
newWidth = 0;
wnewHeight = 0;
var x = img.onload = function() {
newWidth = (this.width*0.5);
newHeight = (this.height*0.5);
return [newWidth , newHeight];
}();
alert (x[0]); //for the weight
alert (x[1]); //for the height