在Retina显示屏上拍摄的屏幕截图图像看起来模糊,1.0刻度,太大,0.0刻度

时间:2012-05-09 02:59:44

标签: iphone uiimage blurry quartz-core

我使用以下代码截取我的一个视图控制器的屏幕截图,然后在另一个视图中显示它。对于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();

1 个答案:

答案 0 :(得分:1)

实际上如果我正在使用

UIGraphicsBeginImageContextWithOptions(self.view.bounds.size, self.view.opaque, 0.0);

图像看起来很清晰,但是这个屏幕截图只会显示屏幕上显示的内容,而不是屏幕上隐藏的内容。

如果我将大小更改为UIView的大小,我也会遇到上述问题。