2012-08-16 73 views
-2

我想將圖像上傳到服務器。我可以做到這一點,它與UIImage。但是,我想上傳當前顯示在我的應用程序中的圖像,該圖像位於UIImageView內。UIImageView到UIImage?

我該如何通過或暫時將UIImageView圖片存儲在UIImage內?我嘗試了以下方法,但它不起作用。

UIImage *myImage = imageView.image; 
+2

我看不出有什麼理由不應該這麼做。當你嘗試時有什麼問題? – 2012-08-16 17:00:18

+0

是你的圖像也許是一個動畫圖像?通常它有可能從'UIImageView'的圖像屬性中獲得'UIImage',結果是圖像nil? – Pfitz 2012-08-16 17:00:24

+0

不是圖像沒有動畫。用戶可以從照片庫中選擇照片,然後將其顯示在uiimageview中。我想把這張照片放在一個圖片裏 – 2012-08-16 17:02:22

回答

1

你應該努力什麼,你得到了什麼樣的錯誤?您也可以試試這個...

UIImage *image = [[UIImage alloc] initWithData:UIImagePNGRepresentation(imageView.image)]; 

,甚至更好...

UIImage *image = [UIImage imageWithData:UIImagePNGRepresentation(imageView.image)]; 

但爲什麼你甚至需要分配一個UIImage,當你已經有一個在的UIImageView?直接使用imageView.image ...

+0

適合我的工作...幹得好 – 2016-08-26 07:45:39

2

我不知道爲什麼還沒有直接訪問圖像屬性不爲你工作,但是或者您可以呈現圖像視圖成位圖上下文,然後創建一個從上下文新形象。該代碼將類似於:

#import <QuartzCore/QuartzCore.h> // necessary for referencing CALayers 
... 
CGSize imageSize = imageView.bounds.size; 
UIGraphicsBeginImageContextWithOptions(imageSize, NO, 0); 
CGContextRef context = UIGraphicsGetCurrentContext(); 
[imageView.image.layer renderInContext:context]; 
UIImage *myImage = UIGraphicsGetImageFromCurrentImageContext(); 
UIGraphicsEndImageContext(); 

Technical Q&A QA1703 - Screen Capture in UIKit Applications

+0

良好的解決方法 – Dustin 2012-08-16 19:29:57