我正在使用 UIGraphicsGetImageFromCurrentImageContext() 函数将屏幕内容捕获到 UIImage 对象中(之前渲染到 Image 上下文中)。这对模拟器和真实设备都很有效,但是在后者中,生成的图像有几个像素颜色失真,如下所示:
http://img300.imageshack.us/img300/2788/screencap.png
请注意顶部导航栏、搜索字段两侧和按钮右侧的几个紫红色像素。左下角按钮的右侧也有这样的像素。
我用来将屏幕视图捕获到 UIImage 对象中的代码非常简单:
UIGraphicsBeginImageContext(self.view.window.frame.size);
[self.view.window.layer renderInContext:UIGraphicsGetCurrentContext()];
UIImage *anImage = UIGraphicsGetImageFromCurrentImageContext();
UIGraphicsEndImageContext();
需要注意的一点是,所有被扭曲的图形都属于自定义 PNG 文件,用于绘制搜索字段背景和按钮背景。
有谁知道什么可能导致这种奇怪的颜色失真?
最好的祝福,