Подтвердить что ты не робот

Как найти ширину и высоту изображения base64

Как найти ширину и высоту изображения base64

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

Ширина и высота свойства изображения постоянны, так как мне нужно показать их как палец для ногтей, но где, поскольку исходные свойства изображения различны.

Мне нужно получить исходную высоту и ширину изображения.

Предположим, что высота и ширина исходного изображения 750 X 500

Я пробовал это, но получаю ширину и высоту свойства

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

значение 200.

Пожалуйста, помогите, как получить оригинальную ширину и высоту изображения.

4b9b3361

Ответ 1

Вы можете создать еще один элемент изображения и получить его размер:

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

Ответ 2

Конструктор Image() для HTMLImageElements, упомянутый в ответе dystroy, - это правильный путь, но есть оговорка: Конструктор фактически асинхронен! В результате вы можете столкнуться с неожиданным поведением в некоторых браузерах; из моих ограниченных экспериментов код dystroy будет работать 100% времени в Chrome, но только иногда в Firefox и Safari. Не знаю о других.

Правильный способ сделать это выглядит как с обработчиком onload, как в:

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.
}