2013-04-08 2 views
3

Предположим, что мое изображение не вертикально (я открываю его в окне браузера, а изображение не вертикально), но когда я загружаю его на какой-либо сервер (например, gmail, stackoverflow). Изображение становится вертикальным.Неверная ориентация изображения в html5 Предварительный просмотр

Я задал этот вопрос, что я пишу предварительную логику с html5 и javascript. Изображение, о котором я говорю, показывает, что именно я вижу в окне браузера. Просто интересно, сделал ли сервер какой-то трюк, чтобы настроить ориентацию?

Изображение показано в окнах:

enter image description here

Изображение, которое непосредственно загрузить в стек переполнения:

enter image description here

+0

Что «открыть его в окне браузера» означает? – Pointy

+0

Я загрузил фотографию. –

ответ

3

Я предполагаю, что вы говорите об изображении, который вы создаете или управляете на стороне клиента, используя элемент canvas, который затем отображается обратно в тег img. Верный?

На стороне сервера ориентацию можно определить, посмотрев флаг ориентации EXIF ​​изображения. Можно просмотреть этот флажок на стороне клиента, используя библиотеку, такую ​​как jQuery fileExif.

2

Если вы используете скрипт как ImageInfo вы можете получить данные EXIF ​​(если у него есть изображение). Если это не так, вы практически не можете знать, почему это произошло. Возможно, будет какое-то «поддельное» отображение на компьютере, над которым вы работаете. Некоторые менеджеры изображений могут сохранять дубликаты первоначально повернутого изображения.

Свойство EXIF ​​Orientation может сообщить об ошибке, если изображение будет изменено в зависимости от его размеров по сравнению с его ориентацией.

0

На стороне сервера:
Вы можете использовать инструмент, как график магию для автоматических сориентировать изображение правильно: http://www.graphicsmagick.org/GraphicsMagick.html

gm.exe -convert -auto-orient MyImage.jpg MyImageCorrectOrientation.jpg