如何使用ColorMine从CIELab转换为CMYK?

时间:2019-02-21 23:03:01

标签: c# colors color-conversion

将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);
    }

1 个答案:

答案 0 :(得分:2)

在Lab,CMYK或RGB之间转换没有唯一的准确方法,因为CMYK和RGB都取决于设备。

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

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