C#,如何在RGB中生成仅与CMYK兼容的颜色

时间:2011-03-08 21:35:13

标签: c# printing colors rgb cmyk

跟进我的第一个问题(C# convert RGB value to CMYK using an ICC profile?

我想知道是否/如何生成仅RGB中具有直接等效值的CMYK值?

有点像只有256色调色板的旧gif格式,是否可以生成由调色板约束的RGB值(此处为CMYK)?

由于

2 个答案:

答案 0 :(得分:4)

嗯,CMYK基于0-100比例,不像RGB那样是0-255。因此,CMYK中只有100个“灰度”,RGB中只有256个。

尝试“babelfishing”输入RGB值;使用您喜欢的任何转换算法将其转换为CMYK,然后将THAT转换回RGB以获得“最接近的匹配”。只要您可以将此最接近的匹配转换为CMYK并返回广告恶心,您就会找到一个将1:1转换为RGB的RGB值。如果颜色保持倾斜,那么转换可能有问题,无论是哪种方式。我不知道RGB-CMYK转换的细节,并且不只有一种算法。

编辑:检查此RGB-> CMYK转换器底部的备注:http://web.forret.com/tools/color.asp?R=85&G=85&B=68。据此,由于黑色的额外尺寸,CMYK可以代表比RGB更多的颜色。我称之为恶作剧,但我想这又取决于你特定的转换器实现。维基百科只是简单地说它“很难”,因为CMYK值比RGB更依赖于硬件。

答案 1 :(得分:1)

此问题的答案类似于C# convert RGB value to CMYK using an ICC profile?的答案:

我不知道任何可以实现此目的的C#API或库。但是,如果您有足够的C / C ++知识来构建C#的包装器,我会看到两个选项:

两个系统都提供API来检查颜色是否可以在另一个颜色空间中显示。