Ошибка ориентации для изображений, загруженных в GAE (GCS + get_serving_url)

Мы разрабатываем службу обмена изображениями с использованием GAE. С прошлой недели многие пользователи сообщают, что «портретные изображения ориентированы на альбомную ориентацию». Мы обнаружили, что с определенного момента времени изменилась спецификация изображений, загружаемых и распространяемых через GAE.

Таким образом, характеристики, похоже, изменились примерно 18 марта в 03:25 (UTC). «Ориентация» Exif применяется неправильно.

Мы используем GAE/Python. Мы сохраняем изображения, загруженные пользователями, в GoogleCloudStorage, а затем используем URL-адрес, полученный с помощью get_serving_url, для их распространения.

Является ли эта проблема временной? Кроме того, можно ли вернуться к спецификациям до 18 марта 03:22 (UTC)?


person dcc    schedule 23.03.2015    source источник


Ответы (1)


Я думаю, это происходит потому, что когда служба get_serving_url изменяет размер изображения, она всегда изменяет размер изображения с самой длинной стороны изображения, сохраняя пропорции одинаковыми. Если у вас есть изображение размером 1600x2400, измените размер изображения на 106x160, чтобы сохранить соотношение сторон.

В вашем случае одно из изображений имеет размер 306x408 (что правильно), поскольку размер изображения изменяется по высоте, а другое изображение имеет размер 360x270 (при изменении ориентации), размер изображения изменяется по ширине. Я думаю, что в более позднем ориентация изменена только для того, чтобы сохранить соотношение сторон прежним.

person Shobhit    schedule 24.03.2015
comment
Нет. Дело, как написано в описании, в том, что ни браузер, ни appengine не читают EXIF-тег jpg. По какой-то причине многие мобильные телефоны сохраняют изображения повернутыми с информацией в EXIF, чтобы зритель мог повернуть их обратно в презентации. - person Rawler; 13.04.2016