如何在 iPad/iPhone 上使用 ICC 配置文件?

Posted

技术标签:

【中文标题】如何在 iPad/iPhone 上使用 ICC 配置文件?【英文标题】:How do I use ICC profiles on the iPad/iPhone? 【发布时间】:2011-03-09 07:33:16 【问题描述】:

现在我正在实现一个基本的 PDF 查看器,我遇到了一个问题,即在设备和模拟器中渲染时,某些文件的文本和矢量图形颜色错误(太浓、太亮)。

由于我可以访问校准硬件,因此我可以使用测试数据为设备创建 ICC 配置文件。

我现在唯一的问题是:有没有办法使用 ICC 配置文件来帮助在 iPad 屏幕上呈现 PDF 数据?

如果有人想知道:我计划在 iPad 上以及可能在 iPhone 上定位 ios 4.x。

提前致谢!

【问题讨论】:

【参考方案1】:

我通过使用 sRGB 生成所有 PDF(例如,您可以在 InDesign 导出设置中选择此选项)解决了这个问题(让 PDF 以与预先计算的预览位图不同的颜色呈现)。

【讨论】:

【参考方案2】:

目前,iOS 缺少像 ColorSync 这样的全系统 CMS。

我会尝试做的是:

    校准您的 iPad, 根据校准器提供的 ICC 配置文件计算颜色变换, 对您从 PDF 数据显示的颜色值运行该转换。

看看你会得到什么。您所针对的显示器可能存在很大差异(可能不同的制造商批次 == 白点略有不同,或其他),但也许这会缓解您的问题。

...与某些人不同的是,您并没有将这个问题定义为“iOS 中完美的色彩再现”,因此,您的问题很可能是可以解决的。

Bruce Lindbloom 有很多颜色转换数学(常量、定义等),他的网站是这类事情的一个很好的起点。

http://www.brucelindbloom.com/

由于大多数 Cocoa 开发人员都可以依赖 ColorSync,因此我没有在 Obj-C 中遇到任何相关的颜色转换示例。我知道 Python 中有很多东西——python-colormath 就是一个很好的例子,它清晰地实现了 Lindbloom 先生的许多矩阵和转换:

http://code.google.com/p/python-colormath/

...您也可以在您的 iOS 项目中嵌入 OpenCV。如果您正在做这种事情,OpenCV 有原生矩阵数据结构和其他有用的东西:

http://www.cs.iit.edu/~agam/cs512/lect-notes/opencv-intro/

这是我感兴趣的一个领域,所以如果您希望我详细说明我提供的任何内容,请告诉我。祝你好运。

【讨论】:

非常感谢您的回答。关键是这必须适用于我从未接触过的设备(普通客户)。我将发布一个关于我如何解决这个特定问题的新答案。

以上是关于如何在 iPad/iPhone 上使用 ICC 配置文件?的主要内容,如果未能解决你的问题,请参考以下文章

如何使用 iOS 13 在 iPad/iPhone 上隐藏页面缩放栏

如何让 FlashPro CC HTML5 Canvas 导出与 iPad/iPhone 上的声音一起使用

如何强制iPad / iPhone Safari使用旧版本的Webkit?

如何更改 iDevice (iPad/iPhone) 的方向?

在 iPad/iPhone 上创建图表

iPad/iPhone双击问题