Определить первоначальный размер перекрестного браузера изображения?

Есть ли надежное, платформа независимый способ определить физические размеры a <img src='xyz.jpg'> измененный на стороне клиента?

87
задан Pekka supports GoFundMonica 22 December 2009 в 05:12
поделиться

2 ответа

У вас есть 2 варианта:

Вариант 1:

Удалите атрибуты ширины и высоты и прочитайте смещениеШирина и смещениеВысота

Вариант 2:

Создайте объект JavaScript Image, установите src и прочитайте ширину и высоту (для этого даже не нужно добавлять его на страницу).

function getImgSize(imgSrc) {
    var newImg = new Image();

    newImg.onload = function() {
      var height = newImg.height;
      var width = newImg.width;
      alert ('The image size is '+width+'*'+height);
    }

    newImg.src = imgSrc; // this must be done AFTER setting onload
}

Редактирование Пеккой: Как согласовано в комментариях, я изменил функцию, чтобы она работала на "загрузочном" событии изображения. В противном случае, при работе с большими изображениями, высота и ширина ничего не возвращали, так как изображение еще не было загружено.

126
ответ дан 24 November 2019 в 07:43
поделиться

Вы можете предварительно загрузить изображение в объект изображения javascript, затем проверить свойства ширины и высоты на этом объекте.

3
ответ дан 24 November 2019 в 07:43
поделиться
Другие вопросы по тегам:

Похожие вопросы: