UIImageOrientation неверно для левого / правого от загруженного UIImage?

Я загружаю JPG, помеченные произвольными данными об ориентации EXIF ​​(одна из 8 ориентаций). Я скачал восемь образцов файлов изображений отсюда (ссылка на это сообщение в блоге).

Изображение 8 представляет тег 8 EXIF, который представляет собой поворот на 90 градусов по часовой стрелке. Это можно подтвердить, посмотрев на это изображение в тупой программе просмотра, например, в Paintbrush.

Однако, когда я загружаю его в UIImage в моем проекте iOS и вызываю -imageOrientation на это я получаю UIImageOrientationLeft, Согласно документам здесь,

UIImageOrientationLeft

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

... это не то, как выглядит изображение.

Противоположность верна для ориентации EXIF ​​6, которая, как я ожидаю, будет отображаться как слева, но как справа.

Документы здесь не так? Я что-то упускаю из виду? Благодарю.

3 ответа

Решение

У меня была такая же проблема некоторое время. Кажется, что документация UIImageOrientation описывает, что происходит с вертикальным изображением, если вы применяете указанную ориентацию. Например, если вы возьмете вертикальное изображение и примените UIImageOrientationLeft, оно получится повернутым против часовой стрелки на 90°.

Документация exif, с другой стороны, описывает, какова ориентация данных изображения для генерации вертикального изображения. Таким образом, для кода EXIF ​​8 данные изображения должны быть повернуты на 90 ° по часовой стрелке, чтобы получить изображение в вертикальном положении.

Оказывается, что только UIImageOrientationLeft и UIImageOrientationRight имеют эту проблему, поскольку все остальные выглядят одинаково в любом случае.

Я думаю, что проблема заключается в исходной точке (где применяется поворот). При использовании UIImage источник находится в верхнем левом углу, а при использовании CGImage источник - в нижнем левом углу.

Я нашел интересный ответ на это: http://blog.logichigh.com/2008/06/05/uiimage-fix/

Другие вопросы по тегам