У меня есть код сервера, который создает эскизы при загрузке изображения. Проблема в том, что когда изображение было снято и камера/устройство было повернуто, миниатюры поворачиваются, даже если сами изображения полного размера отображаются в правильной ориентации в любом программном обеспечении для просмотра изображений. Это происходит только с jpgs.
Используя Preview в OSX, я вижу, что jpg имеют встроенные метаданные ориентации. Когда я использую ImageTools (плагин Grails) для генерации миниатюры, метаданные EXIF не находятся в миниатюре, поэтому миниатюры выглядят повернутыми.
Через автономные разговоры я узнал, что, хотя относительно легко читать метаданные EXIF, нет простого способа написать его, поэтому данные теряются при создании миниатюры jpg.
Итак, кажется, у меня есть два варианта:
- Используйте ImageMagick для создания эскизов. Недостатком является то, что на наших серверах требуется установить больше программного обеспечения.
- Чтение данных EXIF Orientation - это код и поворот эскиза соответствующим образом.
Кто-нибудь знает какие-либо другие варианты?