2011-11-20 40 views
0

我有一个按钮,在imageView中水平镜像图像。这意味着如果是在我点击按钮之后举起我的左手,那看起来就像是我举起右手的照片。下面显示了按钮执行的代码。UIImage镜像代理怪异

有人能解释为什么点击按钮,在第一时间,正确地反映了图像,但点击它连续四次不会导致它本身镜像来回(没有任何反应)。

-(IBAction)mirrorImage3 { 
    UIImage * flippedImage = [UIImage imageWithCGImage:imageView.image.CGImage scale:imageView.image.scale orientation:UIImageOrientationUpMirrored]; 
    imageView.image = flippedImage; 
} 

回答

1

的取向是UIImage的属性,而不是一个指令如何修改CGImage。您必须在UIImageOrientationUpMirroredUIImageOrientationUp之间切换。

+0

什么是UIImage的和CGImage之间的关系?我知道CGImage是UIImage的一个属性。我想要实现的是镜像(已完成),并将其保存到手机库中。我不确定我会保存“UIImage”还是“CGImage”。 – Kevin

+0

在这种情况下,UIImage包装CGImage并添加方向信息。您将UIImage保存到相机胶卷。 –

+0

谢谢。这是否意味着以下将按顺序发生,想象一个从左到右读“AB”的图像。 (1)我翻转UIImage以读取“BA”。 UIImage将显示为“BA”,但其包装的底层CGImage仍会显示“AB”。 (2)我将图像保存到图书馆。 (3)我将该图像从库加载到一个新的UIImage变量中。 (4)新的UIImage和它的底层CGImage都会读取“BA”? 只是试图了解我如何也可以更改或重新初始化CGImage与新的图像。 – Kevin