2011-11-20 38 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