Мне нужно показать изображение в максимально возможном размере, поэтому я использую javascript, чтобы создать квадратный div с максимальными размерами, которые соответствуют окну браузера.
Я загружаю изображение, а затем меняю атрибуты ширины и высоты на значения, которые приведут изображение в соответствие.
Это хорошо работает для 99% изображений, но у меня есть некоторые, которыепоказано в альбомном формате, когда они на самом деле в портретной. Я знаю, что они должны быть портретными, потому что они правильно отображаются в проводнике Windows, Photoshop и т. Д., И даже когда я щелкаю правой кнопкой мыши отображаемое изображение в браузере и выбираю «показать изображение в новом окне»
У меня есть дажеповернул изображение в PhotoShop, и оно все еще отображается в альбомной ориентации.
Это заставляет меня думать, что метаданные не соблюдаются.
В ASPX Page_Load ... imgImage.ImageUrl = "~ /" &tPath
В HTML
function resizeImg() {
var windowWidth = window.innerWidth || document.documentElement.clientWidth;
var windowHeight = window.innerHeight || document.documentElement.clientHeight;
var imgMax = windowHeight - 54;
var div = document.getElementById('divImage');
div.style.width = imgMax + 'px';
div.style.height = imgMax + 'px';
var divW = div.offsetWidth;
var divH = div.offsetHeight;
var winR = divW/divH
var newImgH = imgH;
var newImgW = imgW;
if(newImgW > divW) {
newImgW=divW
newImgH = Math.floor(Math.round(divW / imgR));
}
if(newImgH > divH) {
newImgH=divH
newImgW =Math.floor(Math.round(divH * imgR));
}
img.setAttribute('width',newImgW);
img.setAttribute('height',newImgH);
img.setAttribute('hspace',(divW - newImgW)/2);
img.setAttribute('vspace', (divH - newImgH) / 2);
}