UIImageOrientation неверно для левого / правого от загруженного UIImage? - PullRequest
6 голосов
/ 26 августа 2011

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

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

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

UIImageOrientationLeft

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

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

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

Документы здесь не так? Я что-то упускаю из виду? Спасибо.

Ответы [ 3 ]

8 голосов
/ 30 августа 2011

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

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

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

1 голос
/ 04 сентября 2011

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

0 голосов
/ 05 сентября 2011

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

...