我认为应该有一个简单的解决方案,但我无法弄清楚。我想要做的是通过其路径(不在屏幕上呈现)获取图像的宽度/高度。
喜欢:
var img = ImageInfo(path);
alert(img.width);
(我想用普通的 javascript 来做这个)
我认为应该有一个简单的解决方案,但我无法弄清楚。我想要做的是通过其路径(不在屏幕上呈现)获取图像的宽度/高度。
喜欢:
var img = ImageInfo(path);
alert(img.width);
(我想用普通的 javascript 来做这个)
你可以这样做:
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
让ImageInfo
函数接受回调(即:使其异步)。
function ImageInfo(path, onLoad) {
var img = new Image();
img.src = path;
img.onload = function() {
onLoad(img);
}
}
像这样使用它:
ImageInfo(url, function(img) {
alert(img.width);
});
尝试这个:
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;
它非常简化,但是这些行应该可以单独工作。