2012-04-03 106 views
0

我有一個快速的問題。如何在iOS設備上使用objective-c捕獲整個屏幕的子集?如何使用objective-c捕獲iOS屏幕截圖的子集?

我發現下面的代碼:

UIWindow *screenWindow = [[UIApplication sharedApplication] keyWindow]; 
UIGraphicsBeginImageContext(screenWindow.frame.size); 
[screenWindow.layer renderInContext:UIGraphicsGetCurrentContext()] 
UIImage *screenshot = UIGraphicsGetImageFromCurrentImageContext(); 

偉大的工程,但我只想從一塊整個窗口的創建圖像。我會怎麼做呢?

任何指針將不勝感激!

謝謝。

+0

可能重複[作物截屏編程方式(http://stackoverflow.com/questions/7388047/crop-screen-shot-programatically) – 2012-04-03 23:06:53

+0

我覺得你剛纔指定UIGraphicsBeginImageContext不同的大小。然後你可以做翻譯來將該幀定位在視圖的期望部分上。 – 2012-04-03 23:08:56

回答

-1

取代

UIGraphicsBeginImageContext(screenWindow.frame.size);

UIGraphicsBeginImageContext(CGSizeMake(寬度,高度));的

+0

是假設x和y在(0,0)?如果圖像說(50,50),我想要拍攝中心的屏幕截圖? – thiesdiggity 2012-04-03 23:47:08

+0

@thiesdiggity - 如果我理解正確,那就是你做翻譯的地方。但請參閱http://developer.apple.com/library/ios/documentation/uikit/reference/UIKitFunctionReference/UIKitFunctionReference.pdf – 2012-04-04 00:24:39

+0

如果他們回答了您的問題,請記住接受答案。 – Greg 2012-04-10 02:14:03