Colors CMYK 2 RGB问题

Colors CMYK 2 RGB问题,colors,cmyk,Colors,Cmyk,我在将CMYK颜色转换为RGB时遇到问题。 在互联网上有很多公式可以转换,但例如,当我将CMYK(0100100,0)转换为RGB时,它会得到值(255 0),但在Adobe Photoshop中,RGB值是(237,28,36),我想要这个。有人知道如何用java或.NET转换它吗?还有其他问题问同样的问题: 问题的要点是,Photoshop应用了一个颜色配置文件,而您只需直接进行转换。请看我对其他一些问题的回答,因为我觉得我已经回答了这个问题。可以从RGB转换为CMYK和许多其他格

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

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


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

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

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

请注意,使用了来自两个不同名称空间的两个不同颜色类。您可能需要添加PresentationCore DLL作为引用

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

有一个很好的网站显示了工作中的颜色配置文件


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

如果需要类似photoshop的CMYK转换,请使用JDeli java图像库;有一个名为EnumeratedSpace的类为您完成这项工作

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

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);