我遇到了获取图像尺寸的问题。我想知道图像的宽度和高度,而无需将其加载到文档中。目前我有代码如下:获取图像尺寸
function getImageSize (path) {
var image = new Image();
image.name = path;
var d = image.onload = function() {
var w = this.width;
var h = this.height;
return {width : w, height : h};
}();
image.src = path;
return d;
}
如果我调用该函数,我得到对象在两个索引含有未定义的(W,H)。我试过不通过排除括号(8行)来调用onload处理程序,但我得到的是函数代码。
请注意,如果我在onload处理程序体内调用alert(w)
,我可以看到图片的宽度,但不在其外部。
有人知道如何解决这个问题吗?我如何获得图像尺寸?
我试过回调但仍然无法返回值。 – 2013-03-17 12:29:34
正如我所说,你不能返回尺寸。引用自己:*“这也意味着你**不能**从'getImageSize' * *返回图像的尺寸。所有需要访问维度的代码都必须从回调中调用。 – 2013-03-17 12:42:02