繁体   English   中英

获取图像信息的最佳实践

[英]Best practice to get image info

我尝试使用 JQuery 将图像加载到 HTML 元素中,使用图像属性来做其他事情。 我试图做的是这样的:

var img = new Image();
img.src = "icon.png";
var width = img.width;
var height = img.height;
$("#element").css("background-image", "url(" + img.src + ")");
//use width and height...

它在大多数情况下都有效,但我发现有时“宽度”和“高度”被设置为 0。做一些搜索我发现图像加载是一个异步工作,所以碰巧我尝试读取属性时仍然没有加载。 我发现有一个 onLoad 事件,可用于在加载图像时指定回调函数。

我想知道这是否是做这些事情的最好方法。 例如,假设我只需要有关图像的一些信息,但不需要显示它,并且我想管理该信息客户端。 我需要加载图像吗? 是否有其他方法可以获取此类信息?

您必须等待图像加载:

var img = new Image();
img.onload = function() {
  var width = img.width;
  var height = img.height;
  $("#element").css("background-image", "url(" + img.src + ")");
};
img.src = "icon.png";

由于必须从分配给“src”属性的 URL 中获取图像,因此该操作被异步处理。 也就是说,您不能保证在分配“src”属性后该图像可用于语句。

它有时会起作用,因为您的图像可能已被缓存。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM