2

我认为应该有一个简单的解决方案,但我无法弄清楚。我想要做的是通过其路径(不在屏幕上呈现)获取图像的宽度/高度。

喜欢:

var img = ImageInfo(path);
alert(img.width);

(我想用普通的 javascript 来做这个)

4

3 回答 3

5

你可以这样做:

function getImageSize(imgSrc) {
     var imgLoader = new Image(); // create a new image object

    imgLoader.onload = function() { // assign onload handler
        var height = imgLoader.height;
        var width = imgLoader.width;
        alert ('Image size: '+width+'x'+height);
    }

    imgLoader.src = imgSrc; // set the image source
}

您基本上是使用 javascript 创建一个新图像。分配 onload 事件,然后设置源并等待图像加载。当它被加载时,onload 处理程序会提醒图像的高度和宽度。检查这个jsFiddle

于 2013-06-28T11:35:01.497 回答
1

ImageInfo函数接受回调(即:使其异步)。

function ImageInfo(path, onLoad) {
  var img = new Image();
  img.src = path;
  img.onload = function() {
    onLoad(img);
  }
}

像这样使用它:

ImageInfo(url, function(img) {
  alert(img.width);
});
于 2013-06-28T11:37:51.463 回答
0

尝试这个:

var path = "http://images2.wikia.nocookie.net/__cb20110928222437/callofduty/images/4/4f/Personal_IW_FTW_Awesome_Face_100px.png";

var img = new Image();

img.src = path;

它非常简化,但是这些行应该可以单独工作。

http://jsfiddle.net/s9QVp/1/

于 2013-06-28T11:38:39.633 回答