jquery 如何找到Base64图像的宽度和高度[副本]

nqwrtyyt  于 2023-02-03  发布在  jQuery
关注(0)|答案(2)|浏览(130)
    • 此问题在此处已有答案**:

Get image width and height from the Base64 code in JavaScript(5个答案)
2天前关闭。
如何找到Base64图像的宽度和高度?

<img id="thumb0" width="200" height="200"
src="data:image/png;base64, ................">

图像属性 * width * 和 * height * 是常量,因为我需要将它们显示为缩略图,但原始图像属性是不同的。
我需要得到原始图像的高度和宽度。
假设我的原始图像的高度和宽度是750 X 500像素。
我尝试这样做,但我得到的属性宽度和高度:

$("#thumb0").width();

该值为200
如何获得图像的原始宽度和高度?

mqkwyuun

mqkwyuun1#

您可以构建另一个图像元素并获取其大小:

var img = new Image();
img.src = $('#thumb0').attr('src');
var originalWidth = img.width;
iq3niunx

iq3niunx2#

Denys Séguret的回答中提到的Image() constructor for HTMLImageElements是正确的方法,但有一个警告:构造函数实际上是异步的!因此,您可能会在某些浏览器中遇到意外的行为;从我有限的实验来看,DenysSéguret的代码在Chrome中可以100%正常工作,但在Firefox和Safari中只能偶尔正常工作,其他的就不知道了。
正确的方法似乎是with an onload handler,例如:

var img = new Image();
img.src = some_base64_image_source;
console.log(img.width);       // This might print out 0!
img.onload = function() {
    console.log(img.width);   // This will print out the width.
}

相关问题