您的位置:程序门 -> vb -> 基础类



rgb与cmyk相互转换的问题


[收藏此页] [打印本页]选择字色:背景色:字体:[][][]


rgb与cmyk相互转换的问题
发表于:2007-06-13 18:10:40 楼主
本论坛中有很多关于rgb与cmyk相互转换的代码,我试过很多,居然没有一个是正确的,我是用photoshop的拾色器作参照的,不知有哪位能写出正确的代码?
发表于:2007-06-13 20:53:311楼 得分:0

http://topic.csdn.net/t/20020723/13/895581.html


能直接转换么?   两者原理都不同,得出的结果自然有 "色差 "   了,呵呵

http://www.windstudio.net/html/200404/20040414161705.htm
发表于:2007-06-14 19:50:092楼 得分:0
http://community.csdn.net/expert/topic/5598/5598678.xml?temp=.2650415

cmyk只是在印刷上才会出现,
理论上和rgb对应的是cmy,
c:   cyan   青色
y:   yellow   黄色
m:   magenta   品色

r:   red   红色
g:   green   绿色
b:   blue   蓝色

rgb为加色法中的3原色
cmy为减色法中的3原色

对应关系为:(下面加法中假定相加的各颜色分量均相等)
r+b+g=white  
(加起来等于白色,所以叫加色法)

c+m+y=black   或者   white-b=y   ,   white-r=c   ,   white-g=m
(加一个颜色等于从白色里减掉一个rgb色,所以叫减色法)

r+g+b+c+m+y=gray
(中心灰的概念)

两个色系相互关系为:(此处的相加只考虑颜色,不涉及灰度变化)
r+b=m
r+g=y
b+g=c

m+y=r
m+c=b
y+c=g

在电脑上编程的时候,因为显示器是rgb的,在处理cmy的时候是通过补色原理来进行的,
即:white-b=y   ,   white-r=c   ,   white-g=m
其实这个公式就是上面那个c+m+y=black的变形.
c+y+m=white-r-g-b=black

补色概念:
b     <=>     y
r     <=>     c
g     <=>     m


互为补色的两种颜色放在一起,相互抵消,不会生成新的颜色,只会得到其中一种颜色加上灰度的变化,
当两个补色的分量相同时,则只产生一个灰阶色(黑,白,或灰)


因为在实际印刷中黄,品,青三种颜色放在一起得到的是一种深褐色,因此又加上了专门的黑色染料,即:k     (不用black的b作为所写是为了避免和蓝色混淆)

rgb和cmy是非常基本也最基础的色彩理论,楼主要做图像和影像处理的话一定要掌握这些东西,如果找不到资料的话,可以去买点摄影方面的理论书看看


呵呵,是不是觉得有点象阴阳五行之说阿,不要晕,弄明白了也就这么回事,很简单的
发表于:2007-06-14 22:11:273楼 得分:0
收藏一下。
发表于:2007-06-21 09:50:074楼 得分:0
http://www.windstudio.net/html/200404/20040414161705.htm这个网址中的代码被传了很多遍,但我看不明白rep_v这个变量从何而来,值是多少?
发表于:2007-06-21 10:24:155楼 得分:0
还真没注意过,学习


快速检索

最新资讯
热门点击