如何以编程方式截取屏幕截图?
问问题
7602 次
2 回答
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,你可以给出你想要的任何东西。这将获取可以在屏幕上看到的 webview 图像。
2使用UIGraphicsGetImageFromCurrentImageContext()
我将我的 webview 的屏幕截图转换为图像。
3.通过使用UIGraphicsEndImageContext()
i ask it 结束上下文。
4.我将图像保存到一个,NSData
因为我不得不邮寄屏幕截图。NSData
如果它用于发送或保存,则保留它似乎是一个不错的选择。
编辑:要将其添加到相机胶卷中,您需要编写:
UIImageWriteToSavedPhotosAlbum(theImage,nil,NULL,NULL);
后UIGraphicsEndImageContext();
于 2012-04-13T12:41:29.067 回答
1
于 2012-04-13T12:37:21.303 回答