在iOS模拟器上获得与Mac应用程序中的Quartz绘图相同的颜色输出

时间:2012-11-23 07:12:14

标签: macos pdf colors

我有一张PDF,似乎附有一些内部颜色配置文件。如果我在iPhone模拟器中渲染它,颜色会在Photoshop中显示出来,这显然可以解析这个颜色配置文件。如果我在Mac上渲染相同的PDF,我会得到与Preview和Pixelmator相同的颜色(不那么明亮,泥泞)。

我是否有某些方法可以在Mac上获得与iPhone模拟器相同(正确)的渲染效果?

在iOS模拟器上,我使用CGColorSpaceCreateDeviceRGB和kCGImageAlphaPremultipliedFirst位图上下文。我还设置了渲染意图kCGRenderingIntentPerceptual,虽然我不知道这是否有任何区别。

在Mac上我尝试了相同的设置,以及所有不同类型的颜色空间,但我永远无法在模拟器中实现相同的结果。

我还尝试了这里提到的两种基于ICC的方法:http://developer.apple.com/library/mac/#qa/qa1396/_index.html

我变得绝望了。获得正确颜色的iOS模拟器与Mac有什么不同?我以为iOS不做色彩校正,但Mac呢?现在我用PDFKit绘制各个页面。 Mac上的PDFKit与iOS相关的颜色校正是否有区别,这使得它在iOS模拟器上正常工作,但在Mac上失败了?

我还在iOS模拟器中使用了这个PDF渲染的JPG,将其放入预览中的新PDF并进行预览,我的Mac渲染产生了与输入完全相同的颜色。

在我看来,iOS模拟器具有使用此PDF中嵌入的颜色配置文件的神奇功能,预览或Mac上的Quartz不会。

请帮忙!

亲切的问候 奥利弗·德罗布尼克

2 个答案:

答案 0 :(得分:0)

我不确切知道模拟器是如何工作的,但我可以向你保证,预览和iOS都会对PDF文件的某些功能进行非常不正确的处理;特别是在色彩管理,透明度,套印,图像的高级压缩等方面......

两个提示:

在Mac上,在Adobe Reader中打开PDF文件(从Adobe.com免费下载)。您在Reader中看到的颜色应该与实际情况非常接近。如果您的PDF文件包含ICC配置文件(对于文件中的对象或输出意图,意味着整个文件),它将被正确使用。在iOS上,还要看Adobe Reader - 它目前是该平台上最好的(最高质量)显示工具。

其次,如果您想知道模拟器或其他工具可以做什么或不能做什么,请查看GWG的测试补丁(http://gwg.org/ghentoutputsuite.phtml)。这些补丁旨在提供非常容易解释的结果,以确定某些工具或打印机是否可以处理特定的PDF功能。

这两个步骤至少应该告诉你什么有用,哪些方法有效。这应该可以更容易地找出你需要纠正的内容。

答案 1 :(得分:0)

不幸的是,这是Mac上CGPDF中确认的错误。如果您将CMYK作为透明度颜色空间,它就会显示出来。 iOS正确地忽略了这一点,Mac弄乱了颜色。