Скорее всего, Photoshop использует цветовой профиль для преобразования RGB в CMYK.
Если вы хотите сделать то же самое с языком .NET в Windows, то для него есть API:
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 из двух разных пространств имен.И вам, вероятно, необходимо добавить DLL PresentationCore в качестве ссылки.
В этом конкретном случае используется профиль ISO Coated v2 300% (ECI).Его можно скачать в разделе загрузок eci.org .Это часть большого ZIP-файла, содержащего несколько профилей.
Если вам нужно преобразовать полное изображение из CMYK в RGB, в том же пространстве имен есть специальные классы, которые также используют цветовой профиль.
Есть небольшое симпатичное онлайн-приложение для тестирования преобразования цвета CMYK с цветным профилем.