我使用以下代码截取我的一个视图控制器的屏幕截图,然后在另一个视图中显示它。对于UIGraphicsBeginImageContextWithOptions方法,如果将其作为比例输入1.0,结果图像看起来会模糊;但是如果将它作为比例给出0.0,结果图像将比屏幕大,并且当在另一个视图中显示时可以看到它的部分。有没有办法来解决这个问题?
CGSize imageSize = [[UIScreen mainScreen] bounds].size;
if (NULL != UIGraphicsBeginImageContextWithOptions) {
UIGraphicsBeginImageContextWithOptions(imageSize, NO, 1.0);
} else {
UIGraphicsBeginImageContext(imageSize);
}
[_displayViewController.view.layer renderInContext:UIGraphicsGetCurrentContext()];
// Retrieve the screenshot image
UIImage *screenImage = UIGraphicsGetImageFromCurrentImageContext();
UIGraphicsEndImageContext();
答案 0 :(得分:1)
实际上如果我正在使用
UIGraphicsBeginImageContextWithOptions(self.view.bounds.size, self.view.opaque, 0.0);
图像看起来很清晰,但是这个屏幕截图只会显示屏幕上显示的内容,而不是屏幕上隐藏的内容。
如果我将大小更改为UIView的大小,我也会遇到上述问题。