2013-10-04 6 views
1

Я использую Filepicker для загрузки изображений, а иногда бывает, что загруженное изображение поворачивается примерно на 90 °.Rails + Filepicker: иногда загруженная фотография повернута

Я не знаю, является ли это известной проблемой или это проблема только на моей стороне, но есть ли способ избежать этого поведения?

EDIT: Я только что узнал, что изображение сохранено правильно, но оно отображается неправильно - повернуто. Я загрузка изображения таким образом:

= image_tag main_img.file_url, :alt => @photo.title, :title => @photo.title, :style => 'width: 200px; border: 1px solid #000;' 

Что я делаю неправильно? Почему изображение отображается как «искаженное», а не в правильном положении?

ответ

4

Причина такого поведения заключается в том, что фотографии могут содержать информацию о вращении в данных EXIF.
Это означает, что если фотография была сделана с помощью смартфона в портретной ориентации, его можно сохранить в альбомной ориентации и обозначить «повернутым на 90 °». Теперь это зависит от программы отображения, поворачивает ли она изображение или нет.

Большинство программ обработки изображений выполняют вращение, большинство браузеров этого не делают.

Единственный способ избежать этого поведения - пересчитать изображение, относящееся к информации о ротации, в данных EXIF.
Вы можете использовать imagemagick, exiftran или jhead для получения этого, см. https://superuser.com/a/38860.

+0

Это все еще немного запутывает для меня. Изображение сохраняется правильно, но только в браузере отображается неправильно (повернуто на 90 °). Есть ли уловка, как правильно отображать эти изображения? Кроме того, я никогда не сталкивался с этой проблемой, но только сейчас, когда я использую FilePicker для загрузки файлов. – user984621

+1

Он отображается правильно, потому что программа, которую вы используете для просмотра изображения (может быть, это предварительный просмотр на Mac или что-то еще?), Считывает данные EXIF ​​и поворачивает его для вас. Браузер не делает этого. Мартин прав: вам нужно использовать imagemagick или т. П., Чтобы повернуть его в фоновом режиме, повторно сохранить изображение, а затем отобразить в браузере. – threejeez

3

Я обнаружил, что, изменив формат файла загруженного изображения из «JPG» в формате, который не содержит метаданных EXIF, как «PNG», я могу для устранения этой проблемы с ротацией. Работал в моем случае, используя API Filepicker, что делает его очень простым для изменения форматов файлов без разрушения на URL изображения.

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

  • Нет связанных вопросов^_^