代码之家  ›  专栏  ›  技术社区  ›  kojow7

了解CMYK到RGB转换代码

  •  0
  • kojow7  · 技术社区  · 5 年前

    我正在查看此页面的顶部评论:

    https://www.php.net/manual/en/imagick.setimagecolorspace.php

    它有将CMYK图像转换为RGB的示例代码。然而,有两件事我不明白:

    1. 它使用 profileImage 功能两次。如果图像当前没有配置文件,则将配置文件设置为CMYK。该函数的第二次使用将RGB配置文件添加到图像中。显然,这意味着图像现在至少有两个附加的图像配置文件。

    问题1: 为什么您希望图像同时具有CMYK配置文件和RGB配置文件?这里到底在做什么?添加第二个配置文件如何将图像从CMYK转换为RGB?

    1. 代码的最后一行使用 stripImage 该功能可完全删除配置文件以及EXIF数据等其他内容。

    问题2: 我们为什么要删除配置文件?这难道不会抵消我们刚才所做的一切吗?

    0 回复  |  直到 5 年前
        1
  •  0
  •   fmw42    5 年前

    如果输入图像是CMYK并且没有配置文件,则可以通过两种方式进行转换。第一种是简单地使用颜色空间sRGB。但这并不准确。更好的方法是使用两个配置文件。第一个将输入颜色空间定义为CMYK,并给出其色域的精确定义,第二个指定它要转换为sRGB。有许多CMYK类型的配置文件可以使用。如果没有更多的知识,我更喜欢USWebCoatedSWOP.icc。同样,有几个sRGB配置文件。请参阅 http://www.color.org/srgbprofiles.xalter https://github.com/ellelstone/elles_icc_profiles/tree/master/profiles 对于个人资料。