Ориентация изображения теряется при изменении размера с помощью JavaScript - PullRequest
0 голосов
/ 31 октября 2019

Мне нужно показать изображение в максимально возможном размере, поэтому я использую 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);

}

...