1

我正在使用 Phonegap 和 Android 进行一些测试。目前我需要获取未实际加载的图像的高度和宽度。phonegap 的文件结构是这样的: assets/ assets/www assets/www/css assets/www/img assets/www/index.html

但是当我尝试这个时:

var myImg = new Image();
myImg .src = "img/myImage.png";
alert(myImage.width + " : " + myImage.height);

我什么都没有。输出为“0 0”。我尝试了每种组合,因为我不知道我在哪个级别,所以我尝试了:

../img/myImage.png
www/img/myImage.png
assets/www/img/myImage.png

没有任何效果。

4

1 回答 1

0

我假设根据您的示例代码,您所说的“实际上没有加载”的意思还没有放入页面中,因为如果没有加载图像,就无法访​​问宽度和高度!

问题是在您请求高度和宽度时您的图像尚未加载。您需要使用 onload 事件等待图像加载,然后让 javascript 获取高度和宽度。注意不要在附加 onload 事件之前设置 src,否则会丢失缓存的图像。

这是小提琴:http: //jsfiddle.net/B8Ge5/

(不需要 HTML/CSS)

JS

var img = new Image()
  , source = 'http://i.imgur.com/XmqQuvu.jpg';

img.onload = function(){
    alert( 'Width: ' + this.width + 'Height: ' + this.height );
};

img.src = source;

约书亚

于 2013-11-04T18:29:10.330 回答