我有一个名为“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上显示的图像是颠倒的。怎么了?
答案 0 :(得分:1)
答案 1 :(得分:0)
那是因为UIImage应该自动处理方向,在这种情况下,它被翻转了两次。注意:当涉及到RAW图像时,不应该依赖各种图像处理对象提供的数据。
答案 2 :(得分:0)
UIImageOrientationLeft
对应于EXIF Orientation Tag 6而非8." Left"在UIImageOrientationLeft
中表示图像需要向左旋转才能正常显示,而不是图像 向左旋转。因此,UIImage
中加载UIImageOrientationLeft
的左侧图像会在显示时再次向左旋转,从而导致图像颠倒。