我需要将RGB值转换为CMYK,就像Adobe / Mac ColorPicker中的那样。RGB中的所有颜色都不能在CMYK中实现。但是我发现的算法,如雷格托克,并没有产生我期望的结果。对于Ex: rgb(0,0,255),CMYK中不支持最纯的蓝色。在这种情况下,我需要找到最近的蓝色支持的CMYK色域。你能给我提供任何关于它或使用的算法的参考吗?
发布于 2018-01-25 10:52:59
这根本不是事实。所有RGB颜色都可以表示为CMYK,但不是相反的。您发送的链接可以工作,但似乎三个R、G、B组件的范围是0,255,而C、M、Y、K组件的范围是0、1。这是通常的,RGB坐标表示为整数,CMYK表示为浮点数。几乎所有你能在网络上找到的算法都是这样工作的。
PS:这是算法的一个示例实现,http://www.javascripter.net/faq/rgb2cmyk.htm。
编辑
恐怕要详细解释还需要很长时间,但我们开始了。一方面,你有每种颜色的成分。另一方面,在设备上有某种颜色的显示。由于每种颜色在物理上都是波长上的函数,因此RGB表示是该函数的粗略近似。
当您需要在设备上匹配特定的颜色时,就会出现这样的问题。例如,对于相同的RGB颜色,两个屏幕可以显示稍微不同的颜色。为了克服在给定设备上将颜色与显示值匹配的困难,存在所谓的颜色配置文件,该配置文件指定设备如何匹配RGB (或CMYK,或实验室,或您使用的任何颜色系统)与实际显示的颜色的坐标。
正如我所理解的情况,您要执行的转换涉及颜色配置文件。此外,当我们说RGB时,我们通常说的是屏幕,当我们说CMYK时,我们通常说的是打印机( CMYK组件通常指定打印机用来表示颜色的油墨颜料的数量)。维基百科条目可以为您提供有关以下内容的更多信息:空格
让我最后指出,您要执行的转换涉及到探索与所涉及的设备相关的颜色配置文件,而不是简单的。然而,RGB->CMYK转换的第一步是使用我们首先讨论的简单算法进行直接转换。然后,应用,如果需要一个颜色校正。
发布于 2018-02-11 14:46:25
CMYK颜色没有简单的转换。CMYK颜色的解释取决于印刷条件(油墨、纸张、打印机、印刷工艺等的组合)。这是因为油墨(或染料或任何其他着色剂)的混合物描述非常复杂,就像光的混合物(这是RGB的基础),如果不是更复杂的话。在实践中,通过打印CMYK色块和在受控照明和测量条件下使用测色装置测量这些贴片,对给定的打印条件进行校准和表征。只有当打印条件有良好的特征时,RGB和CMYK之间的精确转换才有可能用于该打印条件。还请参阅我的文章"CMYK和其他油墨混合颜色模型“一节。
https://stackoverflow.com/questions/48440359
复制相似问题