2012-06-24 22 views
-1

在我的應用程序中,我有一個用戶圖像視圖與一個部分刪除疊加在另一個圖像視圖的頂部,所以用戶可以上傳從相機膠捲和操縱屏幕上的圖片。我想使用以下代碼將這兩個圖像保存在一起以拍攝屏幕。但是,因爲這樣可以沿着底部獲得頂部欄和標籤視圖,是否可以通過屏幕快照按鈕指定屏幕的某個區域進行保存?保存屏幕的一部分截圖xcode 4.2

我可以操作下面的代碼,因此它不需要整個屏幕的屏幕截圖,因此我可以省略欄按鈕嗎?

if ([[UIScreen mainScreen] respondsToSelector:@selector(scale)]) 
    UIGraphicsBeginImageContextWithOptions(self.view.window.bounds.size, NO, [UIScreen mainScreen].scale); 
else 
    UIGraphicsBeginImageContext(self.view.bounds.size); 
[self.view.window.layer renderInContext:UIGraphicsGetCurrentContext()]; 
UIImage *viewImage = UIGraphicsGetImageFromCurrentImageContext(); 
UIGraphicsEndImageContext(); 

UIImageWriteToSavedPhotosAlbum(viewImage, nil, nil, nil);   
+0

爲什麼這被標記?這不是提出編程問題的地方嗎?也許這個標記的人會解釋一下嗎? – JSA986

回答

3

那麼你可以隨時創建從UIView圖像,

UIGraphicsBeginImageContext(view.bounds.size); 
[view.layer renderInContext:UIGraphicsGetCurrentContext()]; 
UIImage *image = UIGraphicsGetImageFromCurrentImageContext(); 
UIGraphicsEndImageContext(); 

所以,基本上而不是採取從整個窗口的視圖層......你只取層從您的視圖感興趣並從中創建圖像。

然後將圖像保存到任何你想要的地方。

+0

感謝您的建議,聽起來很不錯,但我似乎無法實現它。繼續收到以下錯誤:'未定義符號的架構armv7: 「_OBJC_IVAR _ $ _ UIViewController._view」,引用自: - [zoompic保存圖片:] in zoompic.o ld:符號(s)找不到架構armv7 鐺:錯誤:鏈接器命令失敗,退出代碼1(使用-v查看調用) ' – JSA986