Проблема ориентации EXIF ​​в Safari Mobile - PullRequest
1 голос
/ 23 апреля 2020

У меня есть приложение angular 2 в производственной среде, которое позволяет вам выбрать изображение профиля. В последнее время проводил тесты с Safari Mobile, в частности, для IOS 13.3.1 версии (более старой) и IOS 13.4.1 (новой) версии. Я заметил, что изображение показывается повернутым в зависимости от используемой версии браузера Safari ( Я создал для этого стек-блиц, который вы можете просмотреть ):

IOS 13.3.1 версия ( старше)

enter image description here

IOS 13.4.1 (новый)

enter image description here

Когда я беру изображения с iPhone в портретном режиме и загружаю изображение в мое приложение, оно отображается повернуто только для IOS 13.3.1 версии ( старше) . Однако я изучил изображения метаинформации EXIF ​​с каждого из моих устройств и обнаружил, что оба свойства имеют одинаковое значение в свойстве ориентации:

IOS 13.3.1 версия (более старая версия)

enter image description here

IOS 13.4.1 (новый)

enter image description here

Мой вопрос. Почему изображение меняется в зависимости от версии IOS, зная, что в обоих случаях ориентация EXIF ​​имеет одно и то же значение (6)?

Этот вопрос меня беспокоит, так как Я уже решил эту проблему, поворачивая изображение в зависимости от значения ориентации EXIF ​​для его правильного отображения (например, exif. js было создано для обработки этой ситуации путем обнаружения флага ориентации exif), но эта проблема теперь появляется снова с новым версия IOS. Каков пример кода, который я могу использовать, чтобы сделать его устойчивым со временем? Разве в браузерах нет консенсуса по управлению ориентацией изображений?

Чем объясняется такое нелогичное поведение?

Спасибо большое!

1 Ответ

1 голос
/ 24 апреля 2020

Браузер webkit вращает изображения перед их загрузкой на основе данных EXIF, после чего оно снова применяется вашим приложением. Мы смогли подтвердить это на новой (81) версии Chrome и Mobile Safari 13.4. затем приложение поворачивает их дальше, и оно искажается.

...