Показать повернутое изображение в вертикальном положении - PullRequest
0 голосов
/ 16 мая 2011

У меня есть левоориентированное изображение с именем «test.png» (как аннотация изображения «R» документа UIImageOrientationLeft), я сначала читаю его с помощью UIImage, а затем создаю еще один UIImage с данными изображения из первый и информация об ориентации, как это:

UIImage *image = [UIImage imageNamed:@"test"];
image = [UIImage imageWithCGImage:image.CGImage scale:1.f orientation:UIImageOrientationLeft];
UIImageView *imageView = [[[UIImageView alloc] initWithImage:image] autorelease];
[imageView sizeToFit];

Но изображение, отображаемое в imageView, перевернуто. Что не так?

Ответы [ 3 ]

1 голос
/ 16 мая 2012

За последние несколько недель я потратил много времени на эту тему. Это может помочь вам, но для более подробного объяснения отметьте эту ссылку .

Между двумя сообщениями есть информация, почему изображения поворачиваются, а также как их вращать самостоятельно.

0 голосов
/ 16 мая 2012

ОК, это немного сбивает с толку. UIImageOrientationLeft соответствует EXIF ​​тегу ориентации 6, а не 8. «Влево» в UIImageOrientationLeft означает, что изображение необходимо повернуть влево для правильного отображения, а не изображение - повернуто влево. Таким образом, лево-ориентированное изображение, загруженное в UIImage с UIImageOrientationLeft, будет повернуто влево еще раз при отображении, что приведет к перевернутому изображению.

0 голосов
/ 16 мая 2011

Это потому, что UIImage должен автоматически обрабатывать ориентации, и в этом случае он был перевернут дважды. Примечание: не следует полагаться на данные, предоставленные различными объектами обработки изображений, когда дело доходит до изображений RAW.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...