包装

Adobe的RGB与CMYK的色彩转换

字号+ 作者/录入:3d3d 来源:工业设计.中国 2007-09-22 [在线反馈] 我要评论

为了说明 adobe 的 RGB 转换 CMYK 的过程,不得不先涉及到一些色彩转换程序方面的东西。

CMYK_ADOBE_COLORSPACE:
r = (k*c)/maxval;
g = (k*m)/maxval;
b = (k*y)/maxval;

以上是 adobe 的 CMYK 到 RGB转换公式,下面再来看看 RGB 如何 转换为 CMYK

下面的语句是经过改写的适用于 Flash 的 actionscript


// RGB to CMY 色彩转换
function rgbtocmy () {
mycyan = 255 - myred;
mymagenta = 255 - mygreen;
myyellow = 255 - myblue;
correctCMYK();
}

// CMY to RGB 色彩转换
function cmytorgb () {
myred = 255 - mycyan;
mygreen = 255 - mymagenta;
myblue = 255 - myyellow;
correctCMYK();
}

// CMYK 色彩修正
function correctCMYK () {
if (rep_v != "ERR") {
var temp = Math.min(Math.min(mycyan, mymagenta), myyellow);
if (temp != 0) {
temp2 = Math.round((rep_v / 100) * temp);
rep_k = Math.round((temp2 / 255) * 100);
rep_c = Math.round(((mycyan - temp2) / 255) * 100);
rep_m = Math.round(((mymagenta - temp2) / 255) * 100);
rep_y = Math.round(((myyellow - temp2) / 255) * 100);
} else {
rep_c = Math.round((mycyan / 255) * 100);
rep_m = Math.round((mymagenta / 255) * 100);
rep_y = Math.round((myyellow / 255) * 100);
rep_k = 0;
}
}
}


我们知道, RGB 和 CMYK 并不能一一对应,这里面存在的问题是黑色部分的替换值的取值问题。

但是, RGB 所可以全部对应的,是CMY 格式,其最取值范围是0-255。从色轮上我们可以很容易的了解到这其中的补色计算关系。因此,CMY 和 RGB 的对换 可以说是“无损,可逆转”的。

当从RGB 得到相应的CMY 之后,我们若要得到 CMYK 值,就必须定义一个“黑色替换值”,也就是

为了说明 adobe 的 RGB 转换 CMYK 的过程,不得不先涉及到一些色彩转换程序方面的东西。 G2V大湾区工业设计网
G2V大湾区工业设计网
CMYK_ADOBE_COLORSPACE: G2V大湾区工业设计网
r = (k*c)/maxval; G2V大湾区工业设计网
g = (k*m)/maxval; G2V大湾区工业设计网
b = (k*y)/maxval; G2V大湾区工业设计网
G2V大湾区工业设计网
以上是 adobe 的 CMYK 到 RGB转换公式,下面再来看看 RGB 如何 转换为 CMYK G2V大湾区工业设计网
G2V大湾区工业设计网
下面的语句是经过改写的适用于 Flash 的 actionscript G2V大湾区工业设计网
G2V大湾区工业设计网
G2V大湾区工业设计网
// RGB to CMY 色彩转换 G2V大湾区工业设计网
function rgbtocmy () { G2V大湾区工业设计网
mycyan = 255 - myred; G2V大湾区工业设计网
mymagenta = 255 - mygreen; G2V大湾区工业设计网
myyellow = 255 - myblue; G2V大湾区工业设计网
correctCMYK(); G2V大湾区工业设计网
} G2V大湾区工业设计网
G2V大湾区工业设计网
// CMY to RGB 色彩转换 G2V大湾区工业设计网
function cmytorgb () { G2V大湾区工业设计网
myred = 255 - mycyan; G2V大湾区工业设计网
mygreen = 255 - mymagenta; G2V大湾区工业设计网
myblue = 255 - myyellow; G2V大湾区工业设计网
correctCMYK(); G2V大湾区工业设计网
} G2V大湾区工业设计网
G2V大湾区工业设计网
// CMYK 色彩修正 G2V大湾区工业设计网
function correctCMYK () { G2V大湾区工业设计网
if (rep_v != "ERR") { G2V大湾区工业设计网
var temp = Math.min(Math.min(mycyan, mymagenta), myyellow); G2V大湾区工业设计网
if (temp != 0) { G2V大湾区工业设计网
temp2 = Math.round((rep_v / 100) * temp); G2V大湾区工业设计网
rep_k = Math.round((temp2 / 255) * 100); G2V大湾区工业设计网
rep_c = Math.round(((mycyan - temp2) / 255) * 100); G2V大湾区工业设计网
rep_m = Math.round(((mymagenta - temp2) / 255) * 100); G2V大湾区工业设计网
rep_y = Math.round(((myyellow - temp2) / 255) * 100); G2V大湾区工业设计网
} else { G2V大湾区工业设计网
rep_c = Math.round((mycyan / 255) * 100); G2V大湾区工业设计网
rep_m = Math.round((mymagenta / 255) * 100); G2V大湾区工业设计网
rep_y = Math.round((myyellow / 255) * 100); G2V大湾区工业设计网
rep_k = 0; G2V大湾区工业设计网
} G2V大湾区工业设计网
} G2V大湾区工业设计网
} G2V大湾区工业设计网
G2V大湾区工业设计网
G2V大湾区工业设计网
我们知道, RGB 和 CMYK 并不能一一对应,这里面存在的问题是黑色部分的替换值的取值问题。 G2V大湾区工业设计网
G2V大湾区工业设计网
但是, RGB 所可以全部对应的,是CMY 格式,其最取值范围是0-255。从色轮上我们可以很容易的了解到这其中的补色计算关系。因此,CMY 和 RGB 的对换 可以说是“无损,可逆转”的。 G2V大湾区工业设计网
G2V大湾区工业设计网
当从RGB 得到相应的CMY 之后,我们若要得到 CMYK 值,就必须定义一个“黑色替换值”,也就是说提取各色通道中的若干成分来形成黑色通道。CMYK 的取值是 0-100。 G2V大湾区工业设计网
G2V大湾区工业设计网
这个“黑色替换值”的取值不同,得到的CMYK分量分布也就不同。也就是我们在photoshop里面可以选择 CMYK 的分色方案为 “UCR”或者“GCR”的不同。 G2V大湾区工业设计网
G2V大湾区工业设计网
“黑色替换值”越大,CMYK图像在印刷时的偏色几率就越小,但相应的状况是图片彩墨分量在暗黑部位显薄,不够饱和。这种分色方式适用于印刷材质较薄或较粗糙,印刷精度不高的场合。 G2V大湾区工业设计网
G2V大湾区工业设计网
附注:为什么直接去色和直接转换灰度比 Lab 的 L 通道得到的灰度层次显得差? G2V大湾区工业设计网
G2V大湾区工业设计网
我们还是来用色彩转换公式说话来比较: G2V大湾区工业设计网
L = 0.3R+0.59G+0.11B G2V大湾区工业设计网
Gray = (R+G+B)/3 G2V大湾区工业设计网

  文  /  本站整理

转载请注明出处。

转载此文是出于传递更多信息之目的。若有来源标注错误或侵犯了您的合法权益,请作者持权属证明与本网联系,我们将及时更正、删除,谢谢。

相关文章
网友点评