直立显示旋转的图像

时间:2011-05-16 03:07:59

标签: ios uiimage

我有一个名为“test.png”的左向图像(就像UIImageOrientationLeft文档的'R'图像注释),我首先用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 个答案:

答案 0 :(得分:1)

过去几周我在这个话题上花了很多时间。 This可能会对您有所帮助,但要获得更深入的解释,请检查this link

在两个帖子之间,有关于图像旋转原因的信息,以及如何自己旋转图像。

答案 1 :(得分:0)

那是因为UIImage应该自动处理方向,在这种情况下,它被翻转了两次。注意:当涉及到RAW图像时,不应该依赖各种图像处理对象提供的数据。

答案 2 :(得分:0)

好的,这有点令人困惑。 UIImageOrientationLeft对应于EXIF Orientation Tag 6而非8." Left"在UIImageOrientationLeft中表示图像需要向左旋转才能正常显示,而不是图像 向左旋转。因此,UIImage中加载UIImageOrientationLeft的左侧图像会在显示时再次向左旋转,从而导致图像颠倒。