У меня есть цветовое пространство CMYK в indesign, я хочу преобразовать его в цветовое пространство RGB, у меня есть некоторые коды, но я получаю неверные данные.
Некоторые коды, которые я пробовал, приведены ниже
double cyan = 35.0;
double magenta = 29.0;
double yellow = 0.0;
double black = 16.0;
cyan = Math.min(255, cyan + black); //black is from K
magenta = Math.min(255, magenta + black);
yellow = Math.min(255, yellow + black);
l_res[0] = 255 - cyan;
l_res[1] = 255 - magenta;
l_res[2] = 255 - yellow;
@Override
public float[] toRGB(float[] p_colorvalue) {
float[] l_res = {0,0,0};
if (p_colorvalue.length >= 4)
{
float l_black = (float)1.0 - p_colorvalue[3];
l_res[0] = l_black * ((float)1.0 - p_colorvalue[0]);
l_res[1] = l_black * ((float)1.0 - p_colorvalue[1]);
l_res[2] = l_black * ((float)1.0 - p_colorvalue[2]);
}
return (l_res);
}
Значения: C = 35, M = 29, Y = 0, K = 16 в цветовом пространстве CMYK, а правильные значения RGB: R = 142, G = 148, B = 186.
В Adobe Indesign, используя образцы, мы можем изменить режим на CMYK или RGB.
Но я хочу сделать это программно. Могу ли я получить какой-либо алгоритм для преобразования CMYK в RGB, который даст правильные значения RGB.
И еще один вопрос: если альфа-значение для RGB равно 1, то каким будет альфа-значение для CMYK?
Может кто-нибудь помочь мне решить эти проблемы ... Заранее спасибо.