【问题标题】:CMYK 2 RGB ProblemCMYK 2 RGB 问题
【发布时间】:2010-04-20 16:09:01
【问题描述】:

我在将 CMYK 颜色转换为 RGB 时遇到问题。 在互联网上有很多公式可以转换它,但例如当我将 CMYK (0,100,100,0) 转换为 RGB 时,它得到值 (255 0 0) 但在 Adob​​e Photoshop RGB 值是 (237,28,36) 我想要这个。有人知道如何用 java 或 .NET 转换它吗?

【问题讨论】:

    标签: colors cmyk


    【解决方案1】:

    还有其他问题问同样的事情:

    您的问题的一般要点是 Photoshop 正在应用颜色配置文件,因为您只是在进行直接转换。请看我对其他一些问题的回答,因为我觉得我已经回答了这个问题。

    【讨论】:

      【解决方案2】:

      如果您想要好的结果,您需要应用颜色配置文件。在 .NET 中,您可以这样做(假设原始 CMYK 分量在 0 到 255 之间):

      float[] colorValues = new float[4];
      colorValues[0] = c / 255f;
      colorValues[1] = m / 255f;
      colorValues[2] = y / 255f;
      colorValues[3] = k / 255f;
      
      System.Windows.Media.Color color = Color.FromValues(colorValues,
          new Uri(@"C:\Users\me\Documents\ISOcoated_v2_300_eci.icc"));
      System.Drawing.Color rgbColor = System.Drawing.Color.FromArgb(color.R, color.G, color.B);
      

      请注意,使用了来自两个不同命名空间的两个不同 Color 类。您可能需要添加 PresentationCore DLL 作为参考。

      可以从eci.org 的下载部分下载所需的颜色配置文件。它是包含多个配置文件的较大 ZIP 文件的一部分。他们明确建议使用 ISO Coated v2 300% (ECI) 配置文件。

      有一个不错的网站显示 CMYK to RGB color conversion 以及工作中的颜色配置文件。

      如果您需要将完整的图像从 CMYK 转换为 RGB,则在同一命名空间中有专门的类。

      【讨论】:

        【解决方案3】:

        如果你想要像 cmyk 这样的 photoshop 转换然后使用 JDeli java 图像库;有一个名为 EnumeratedSpace 的类可以为您完成这项工作;

        请不要忘记位掩码,因为返回值是 rgb 字节

        【讨论】:

          【解决方案4】:

          ColorJizz 可以将 RGB 转换为 CMYK 和许多其他格式。那里有一个 .NET 版本。

          【讨论】:

            猜你喜欢
            • 2010-12-04
            • 1970-01-01
            • 2016-01-11
            • 2012-01-30
            • 2021-03-15
            • 2017-08-20
            • 2011-06-22
            • 2018-07-04
            • 2011-06-17
            相关资源
            最近更新 更多