2012-05-09 3 views
5

Кажется, у нас есть проблема, что изображения на рабочих столах отображаются правильно вертикально, но на iPad они поворачиваются в пейзаж. По дальнейшему расследованию кажется, что iPad смотрит информацию о повороте из данных EXIF ​​на изображение и определяет, что он должен отображаться в ландшафте вместо портрета (что и должно быть на самом деле).Как я могу заставить сафари iOS игнорировать вращение EXIF?

Есть ли способ справиться с этим, не загружая тысячи и тысячи изображений, снимая данные EXIF ​​и повторно загружая их в наш облачный провайдер?

ответ

3

Это очень странно, но по какой-то причине - когда вы позиционируете изображение абсолютно над элементом видео (даже пустой тег видео) - тогда изображение с вращением EXIF ​​делает не вращаться!

<video></video> 
<img src="url.jpg" style="position:absolute;top:0;left:0" /> 

Проверено на IOS 5.1 Iphone 4. (я надеюсь, что никто не будет подавать это как ошибка;)).

+0

Я обнаружил, что если повернутое изображение абсолютно абсолютно позиционировано, оно будет сообщать 'naturalWidth' и' naturalHeight' при повернутых значениях, но будет отображаться без поворота. –

3

Использование JQuery, это много короче, HTML структура:

<a href="foo" style="width:100px; height:100px;"> 
    <img src="bar" style="position:absolute; width:100px; height:100px; top:0; left:0;"> 
</a> 

Javascript:

setTimeout($.proxy(function(){ 
    this.css("position", ""); 
}, $('<video style="visibility:hidden; position:absolute; width:1px; height:1px">').before("img")), 0); 

Примечание: Тайм-аут предотвращает ошибки отображения, где позиции неправильны иногда.

Работает как шарм на прошивкой 7.1, 7,0 и 6,1!

+0

Это работает для меня, однако, это искажает изображение, так как мой не идеальный квадрат, такой как 100px на 100px. Это делает ширину того, что было бы с изображением сбоку (изображение выше его ширины). – Tricky12

+0

Высота и ширина img- и a-tag действительно просто примерны. В примере используется абсолютное положение img, которое будет обрезано окружающим якорем. Он должен работать с разным размером или даже без него. Похоже, что пустой тег видео находится рядом с img-тегом. – shoesel

Смежные вопросы