下面的代码块在我的应用程序中用于截取 iPad mini(768 x 1024) 的当前屏幕截图:
UIImage *img;
UIGraphicsBeginImageContext(self.view.bounds.size);
[self.view.layer renderInContext:UIGraphicsGetCurrentContext()];
img = UIGraphicsGetImageFromCurrentImageContext();
UIGraphicsEndImageContext();
return img;
在不同的视图控制器中,我展示了一个宽度为 540、高度为 290 的 UIScrollView。我在 UIImageView 中显示屏幕捕获 UIImage,我以编程方式创建了 initWithFrame,矩形宽度为 250,高度为 250。滚动视图的内容大小是 768 乘 250。
现在运行应用程序,我显示四个矩形并使用上面的代码块截取屏幕。过渡到 UIScrollView,图像不清晰(由于不清晰,一些矩形缺少边,而有些比其他矩形更厚)。有没有办法让图像更清晰?我知道图像必须从原来的 768 x 1024 缩小到 250 x 250。这可能是问题吗?如果是这样,最好的解决办法是什么?
编辑:
在我要捕获的图像的屏幕截图上方。
下面是 UIScrollView 中 UIImageView 中的 UIImage: