从base64 ajax加载的图像中获取浏览器计算的图像宽度和高度

时间:2017-01-04 16:03:00

标签: jquery ajax

我正在尝试通过ajax 将宽度和base64编码图像的高度加载为由浏览器计算不是真实/原始大小,但浏览器计算显示图像的大小(所谓的clientWidth)。我了解图片必须在获取图片之前加载,但我会继续zeroundefined

这是我设法解决的最近的工作代码:

var image_sizes = {};
$('.picture').one('load', function() {
    image_sizes.width = this.width;
    image_sizes.height = this.height;
    console.log(image_sizes.width);
}).each(function() {
    if(this.complete) $(this).load();
});

但它返回真实/原始的宽度和高度。如果我使用this.width更改this.clientWidth,则会返回zero

我试过的其他代码甚至不起作用,因为图像是base64,它是通过ajax加载的。

解决

感谢以下评论中的Bobby Jack提示:

$('.picture')[0].width
如果在图像完全加载后检查宽度和高度

工作正常。

0 个答案:

没有答案