iphone - 捕获的 UIView 图像颜色失真(iPhone SDK)

标签 iphone uiview screen-capture

我正在使用 UIGraphicsGetImageFromCurrentImageContext() 函数将屏幕内容捕获到 UIImage 对象中(之前渲染到图像上下文中)。这对于模拟器和真实设备都非常有效,但是在后者中,生成的图像有一些颜色扭曲的像素,如下所示:

http://img300.imageshack.us/img300/2788/screencap.png

请注意顶部导航栏、搜索字段两侧和按钮右侧的几个紫红色像素。左下按钮右侧也有这样的像素。

我用来将屏幕 View 捕获到 UIImage 对象中的代码非常简单:

UIGraphicsBeginImageContext(self.view.window.frame.size);
[self.view.window.layer renderInContext:UIGraphicsGetCurrentContext()];
UIImage *anImage = UIGraphicsGetImageFromCurrentImageContext();
UIGraphicsEndImageContext();

需要注意的一点是,所有扭曲的图形都属于自定义 PNG 文件,用于绘制搜索字段背景以及按钮背景。

有谁知道什么可能导致这种奇怪的颜色失真?

最诚挚的问候,

最佳答案

刚刚检查了我自己的代码,它正在做与您相同的事情。你的几乎与我的相同,除了我要求渲染 View 的层而不是窗口的层,即:

[self.view.layer renderInContext:UIGraphicsGetCurrentContext()];

我不知道为什么这会有所不同,但值得一试。

关于iphone - 捕获的 UIView 图像颜色失真(iPhone SDK),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1902741/

相关文章:

iphone - performSelectorOnMainThread 嵌入在 didUpdateToLocation

iphone - Objective-C++ 支持多少 C++

ios - removeFromSuperview() 不起作用

swift - 使用 UIGraphicsImageRenderer 类捕获 UIView 时图像质量较差

iphone - 扭转一个 NSArray 的烦恼?

ios - insertTimeRange:ofTrack:atTime:error:(类AVMutableCompositionTrack)在iPhone上失败

ios - UIView 的 opaque、alpha 和 backgroundColor 之间有什么关系?

ios - 创建子 UIView 的 UIView 正在生成层次结构约束警告

android - 如何在 KitKat 4.4 中以编程方式录制 Android 屏幕视频

linux - DIY : Project remove VGA cable by sharing screen over wifi to TV