如何以编程方式截取屏幕截图?
答案 0 :(得分:14)
您可以将UIGraphicsBeginImageContext
用于此目的。
例如:
UIGraphicsBeginImageContextWithOptions(self.view.bounds.size, self.view.opaque, 0.0);
[self.myView.layer renderInContext:UIGraphicsGetCurrentContext()];
UIImage*theImage = UIGraphicsGetImageFromCurrentImageContext();
UIGraphicsEndImageContext();
NSData*theImageData = UIImageJPEGRepresentation(theImage, 1.0 ); //you can use PNG too
[theImageData writeToFile:@"example.jpeg" atomically:YES];
这里
1。首先我拍摄图片上下文,我已将其作为网页浏览myView
,您可以提供您想要的任何内容。这将获取可在屏幕上看到的webview图像。
2 使用UIGraphicsGetImageFromCurrentImageContext()
我将网页浏览的屏幕截图转换为图片。
3。使用UIGraphicsEndImageContext()
我要求它结束上下文。
4. 我将图片保存到NSData
,因为我必须邮寄截图。如果它用于发送或保存,那么保留在NSData
似乎是个不错的选择。
编辑:要将其添加到相机胶卷,您需要写:
在UIImageWriteToSavedPhotosAlbum(theImage,nil,NULL,NULL);
之后 UIGraphicsEndImageContext();
答案 1 :(得分:1)