【问题标题】:How to convert from CIELab to CMYK using ColorMine?如何使用 ColorMine 从 CIELab 转换为 CMYK?
【发布时间】:2019-02-21 23:03:00
【问题描述】:

将 CIELab 颜色值转换为 CMYK 的最准确方法是什么?我一直在看ColorMine library,它似乎首先从 CIELab 转换为 RGB,然后从 RGB 转换为 CMY,然后从 CMY 转换为 CMYK。这是最好的还是正确的方法?

这是一个从 RGB 到 CMY 的转换示例。这对我来说似乎很原始,我认为它假设 RGB 和 CMY 的白点是相同的,我不确定。

    internal static void ToColorSpace(IRgb color, ICmy item)
    {
        item.C = 1 - (color.R / 255.0);
        item.M = 1 - (color.G / 255.0);
        item.Y = 1 - (color.B / 255.0);
    }

【问题讨论】:

    标签: c# colors color-conversion


    【解决方案1】:

    没有一种准确的方法可以在 Lab、CMYK 或 RGB 之间进行转换,因为 CMYK 和 RGB 都依赖于设备。

    本质上,准确的转换要求您首先了解将显示 CMYK 颜色的设备的规格。只有这样,您才能计算出在该特定设备上与您的 Lab 颜色匹配的确切 CMYK 颜色。没有设备数据,您只能生成一个近似值。

    这就是 ICC 配置文件的用武之地。支持 CMYK 的设备的 ICC 配置文件将包含用于在 Lab 和 CMYK 之间进行转换的表格。

    【讨论】: