2013-06-19 85 views
0

在下面的代碼中,img不是轉換後的圖像。我如何轉換圖像?從ios中的轉換的ImageView目標c獲取圖像

CGAffineTransform transform = self.imageView.transform; 

if(transform.a == 1) 
{  
    transform.a = -1; 
} 
else 
{  
    transform.a = 1; 
} 

self.imageView.transform = transform; 

UIImage *img = self.imageView.image; 

這是圖像:

enter image description here

變換之後,它應該是這樣的:

enter image description here

+0

你要什麼圖像看起來像後應用的變換? – woz

+0

jst像在imageView圖像.... –

回答

0

的變換應用於視圖,而不是圖片。如果您想要應用變換的圖像,則需要將圖像視圖渲染爲新圖像。谷歌「將uiview引入uiimage」或https://stackoverflow.com/search?q=draw+uiview+into+uiimage

+0

CGAffineTransform transform = self.imageView.transform; –

+0

這是用來變換圖像,如果我們變換,然後我們如何得到變形圖像 –

+0

這是用來變換視圖,這會導致圖像ON SCREEN的變化,但不會在內存中。要將轉換後的圖像作爲新圖像,需要將視圖繪製爲新圖像。有很多關於如何做到這一點的帖子。像http://stackoverflow.com/questions/3129352/need-to-capture-uiview-into-a-uiimage-including-all-subviews – Wain

1

我認爲你正在接近它錯誤的方式。像這樣的東西應該工作:

UIImage* sourceImage = [UIImage imageNamed:@"whatever.png"]; 
UIImage* flippedImage = [UIImage imageWithCGImage:sourceImage.CGImage scale:1.0 orientation: UIImageOrientationUpMirrored]; 
+0

你可以看到通過這個鏈接轉換前的圖像..... http://sphotos-a.ak.fbcdn.net/hphotos-ak-frc3/q71/988639_192688244227063_1733135779_n。 jpg/n和u可以通過這個鏈接轉換後看到圖像..... http://sphotos-g.ak.fbcdn.net/hphotos-ak-ash4/q71/998366_192685424227345_883357333_n.jpg –

+0

是的,我補充說對你的問題。我發佈的代碼是否可以幫助你? – woz

+0

厚顏無恥:)你應該在設置新的方向前真正檢查圖像的現有方向... – Wain