浏览器(客户端)中是否有任何技术能够使用指定的 ICC 颜色配置文件将 sRGB 颜色转换为 CMYK,反之亦然?
我目前正在使用隐藏的 Java 小程序进行转换(Java 对此有一个内置类),但我正在尝试寻找替代方案,因为 Java 小程序既慢又过时。
如果浏览器在 SVG 中支持ICC 颜色,那么 SVG 将是理想的,但没有人支持。Flash 或 Silverlight 也不错,但我找不到任何相关内容。
浏览器(客户端)中是否有任何技术能够使用指定的 ICC 颜色配置文件将 sRGB 颜色转换为 CMYK,反之亦然?
我目前正在使用隐藏的 Java 小程序进行转换(Java 对此有一个内置类),但我正在尝试寻找替代方案,因为 Java 小程序既慢又过时。
如果浏览器在 SVG 中支持ICC 颜色,那么 SVG 将是理想的,但没有人支持。Flash 或 Silverlight 也不错,但我找不到任何相关内容。
我认为您要使用显示设备的 ICC 配置文件是否正确?
我相当肯定没有工具可以使用 javascript 确定显示设备 ICC 配置文件。充其量它可能在像 Flash 这样的第三方环境中是可能的。数学本身没有问题。
当然,这一切都是网络浏览器的责任。Firefox 对色彩管理有相当好的支持。如果我没记错的话,微软将在 IE9 中解决颜色管理问题。
阅读您的问题后,我无法决定:
一个。您正在尝试进行软验证操作,或者
湾。您正在构建一个颜色选择器类型的应用程序,并且您希望在显示用户的 sRGB 值近似值时为用户提供某些颜色的名称(例如 pantone 或 NCS 等),或者
C。完全不同的东西。
您关心的 CMYK 空间是什么?如果您正在执行选项 (a) - 软打样 - 您可能可以将曲线拟合到 CMYK 配置文件中的 LUT,并使用它们来找出可以在非 ICC 中运行的“快捷方式”转换 -知道您正在使用的 javascript 运行时。大多数 CMYK 配置文件使用 LUT 进行转换,并且许多使用 ICC4 NamedColor2 值(您可能知道它是“ncl2”ICC 标记中的值)。
如果是这种情况,我可以向您指出一些有关如何做到这一点的资源——我正在使用 SciPy 在我正在研究的 python django 颜色管理图像分析应用程序平台中使用 SciPy。
如果您正在执行选项 (b),并且您需要颜色名称,您可以从 CMYK 配置文件中提取您需要的名称(很可能是 NamedColor2 值)并构建一个查找表,然后您可以将其序列化为 JSON,以便您可以将其加载到您的应用程序中。如果您的应用需要对显示空间有所了解,您可能可以让用户为他们的显示“校准”您的应用——向他们提供一些问题,这些问题将允许您计算白点偏移(可能还有 RGB XYZ tristimulii),然后可能会创建一个快速变换(这可能就像我猜的一个色彩适应变换一样简单),然后您将其应用于您想要“颜色管理”的颜色值,然后再显示它们。
要在没有 CMS 系统的情况下进行转换,Bruce Lindbloom 的数学是一个很好的起点:
http://www.brucelindbloom.com/
如果是 c) 我很好奇它是什么。
有什么帮助吗?如果您补充您的问题,我可以详细说明和/或提供示例代码,&c(我正在类似的问题领域工作,所以我们都可以在这方面获胜)。