Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/linux/27.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在PHP中使用ICC配置文件将RBG转换为CMYK_Php_Linux_Rgb_Cmyk_Color Profile - Fatal编程技术网

在PHP中使用ICC配置文件将RBG转换为CMYK

在PHP中使用ICC配置文件将RBG转换为CMYK,php,linux,rgb,cmyk,color-profile,Php,Linux,Rgb,Cmyk,Color Profile,我目前正在开发一个在线应用程序,允许用户从常用的javascript颜色选择器中为文本选择颜色。我想将返回的值转换为CMYK,我知道没有一种简单的方法可以实现这一点,因为有ICC配置文件和所有这些 我仍然希望实现一个相对有用的转换,就像“大多数”用户从Photoshop知道的那样。我想使用的配置文件是RGB颜色空间的“AdobeRGB”,CMYK颜色空间的“Coating Fogra39” 我想知道的是,是否有任何方法可以利用这两个ICC配置文件(我已下载)将单色值从一个颜色空间转换为另一个颜色

我目前正在开发一个在线应用程序,允许用户从常用的javascript颜色选择器中为文本选择颜色。我想将返回的值转换为CMYK,我知道没有一种简单的方法可以实现这一点,因为有ICC配置文件和所有这些

我仍然希望实现一个相对有用的转换,就像“大多数”用户从Photoshop知道的那样。我想使用的配置文件是RGB颜色空间的“AdobeRGB”,CMYK颜色空间的“Coating Fogra39”

我想知道的是,是否有任何方法可以利用这两个ICC配置文件(我已下载)将单色值从一个颜色空间转换为另一个颜色空间。有很多方法可以用ImageMagick转换整个图像,但我正在努力找到一种方法,从一种颜色值计算到另一种颜色值。 如果有任何想法,我也倾向于使用其他方法来实现这一目标

谢谢。

你可以用

这里有一个

另外,我必须警告你,cmyk配置文件是用于打印而不是用于筛选的,它们将是不同的,并且你不能计算与rgb相同的值(rgb忽略了黑色的东西)黑色的示例(每个人都知道这种颜色) RGB黑色:0,0,0, CMYK黑:100%; 但是100%键在一些打印机上的效果不一样,你只需要在其他打印机上使用100%键,比如我使用的罗兰sp 540i,我根据我的需要组合颜色来产生不同类型的黑色,因为100%键不会产生大家都知道的黑色,你甚至可以在photoshop/corel draw中对其进行测试以查看差异如果你的屏幕对你有帮助

其他例子:

  • 注册黑色| C100 M100 Y100 K100
  • 中性浓黑(也称浓黑)1240M30 Y30 K100
  • 平坦黑色| C0 M0 Y0 K100-此黑色仅由100%的黑色通道组成,混合中没有其他墨水。也称为标准黑色
  • 设计师黑| C70 M50 Y30 K100潘通®工艺黑|专色/'K100':此 黑色为Pantone®工艺黑色C(涂层)、U、, (无涂层)和M(无光泽)
  • 冷黑色(也称为黑色凹凸)| C50 M0 Y0 K100:这是一般混合色,但这种黑色也可以[通常]由20%-80%的青色组成
  • 金黑色| C0 M0 Y60 K100:这是一般的混合,但这种黑色也可以 由[通常]20%-80%的黄色组成
  • 暖黑| C0 M60 Y0 K100:这是一般混合,但这种黑也可以 由[通常]20%-80%的品红组成
所以你可以看到CMYK和rgb空间有很大的不同,因为它是用来打印的,这意味着如果你不知道它是如何工作的,你会遇到麻烦


更新:ICC配置文件用于监视器,不用于打印

您可以尝试创建一个Photoshop图像,该图像由一系列模拟所有RGB颜色子集的渐变组成,然后将其另存为CMYK(例如未压缩的TIFF,这样您就可以像使用查找表一样使用该图像)。读取颜色值,并根据这些值创建一组方程式,可以从该图像中的查找推断目标CMYK,尽管这是一项很大的工作,尝试过一次,但被放弃了,有些复杂。。。或者,给用户一组简化的组合,并将它们存储在一个表中,就像所有的#000--#fff组合一样,如果您可以接受的话


RGB--CMYK转换远不简单,这就是为什么Adobe progs要花钱的原因…

感谢Bogdan的回复,但是指定的链接没有多大帮助。我试图实现Photoshop(或者更好的Illustrator)在其颜色选择器中使用的转换。例如,rgb(255,0,0)变成cmyk(0,88.04,89.07,0),rgb(0255255)变成cmyk(61.57,0,15.79,0)。你相信有可能以某种方式实现类似的转换吗?或者这是Adobe方法的秘密?谢谢你的想法。我回复中的第二个链接提供了一些如何进行转换的技巧。但我不知道adobe是如何计算颜色的。也许这是更多的方程式。她是adobe上的一个主题,我想再次感谢——看来我必须找到一个自定义的解决方案,或者请我的数学家朋友帮我解决这个问题。是的,可以。。或者你也可以在你的镇上找到一家印刷店,向他们询问更多关于cmyk的资料。印刷术将是最好的地方,以了解更多关于这一个使用真正的旧机器,他们混合颜色手动。