Chinaunix首页 | 论坛 | 博客
  • 博客访问: 689506
  • 博文数量: 194
  • 博客积分: 3831
  • 博客等级: 中校
  • 技术积分: 1843
  • 用 户 组: 普通用户
  • 注册时间: 2009-02-28 13:24
文章分类

全部博文(194)

文章存档

2012年(41)

2011年(42)

2010年(45)

2009年(66)

分类:

2010-11-12 16:13:38

从物理光学试验中得出:红、绿、蓝三种色光是其他色光所混合不出来的。而这三种色光以不同比例的混合几乎可以得出自然界所有的颜色。

如红光与不同比例的绿光混合可以得出橙、黄、黄绿等色;红光与不同比例的蓝紫光混合可以得出品红、红紫、紫红蓝;紫光与不同比例的绿光混合可以得出绿蓝、青、青绿。如果蓝紫、绿、红三种光按不同比例混合可以得出更多的颜色,一切颜色都可通过加色混合得出。

由于加色混合是色光的混合,因此随着不同色光混合量的增加,色光的明度也渐加强,所以也叫加光混合。当全色光混合时则可趋于白色光,它较任何色光都明亮。

一种颜色的数值一般用这种颜色的RGB值来表示。RGB值指某种颜色中的红(Red)、绿(Green)、蓝(Blue)成分,理论上讲红绿蓝三种基色按照不同的比例混合可以调配出任何一种颜色来。

比如我们调一种桔红色,下图是Photoshop颜色面板中的显示。

有风的日子b KIVB{:k\/h

Y\u"?8Q-^6i G-gj#n0这种颜色的十进制颜色值为R=239;G=125;B=49,转换成十六进制为R=EF;G=7D;B=31。

C语言中写成“RGB(239, 125, 49)”,也可以写成十六进制的形式“0xEF7D31”,在网页中写成“#EF7D31”。

颜色中的RGB成分数值范围均为(0~255),用十六进制表示即(0x00~0xFF),这个范围正好占用一个字节(8位)。因此一种颜色含RGB三种成分占用三个字节(24位),这就是24位真彩色的由来了。

如何根据RGB值来判断这是种什么颜色?

下面介绍几种典型颜色的RGB值,格式为:颜色(R,G,B)

想象一下有红、绿、蓝三盏射灯打出三束光。

这三束光叠加在一起时产生白色,如果三盏灯的亮度都减半就产生了灰色,如果三盏灯都关掉就会一片漆黑了。

白色(255,255,255) 灰色(127,127,127) 黑色(0,0,0)

关掉绿灯和蓝灯,只亮红灯,那么只会看到一片红色;只亮绿灯或蓝灯则只会看到绿色或蓝色。

红色(255,0,0) 绿色(0,255,0) 蓝色(0,0,255)

关掉其中一盏灯,用其他两盏灯的光线叠加,则蓝+绿=青,红+蓝=洋红,红+绿=黄。

青色(0,255,255) 洋红色(255,0,255) 黄色(255,255,0)

其它颜色可以根据这几种颜色的RGB比例来判断。

橙色(255,127,0) 紫色(127,0,255) 粉绿(0,225,128)

湖蓝(0,128,255) 草绿(128,255,0) 玫瑰红(255,0,128)

某种颜色的RGB值越接近,这种颜色就越接近灰色或黑白,数值越大就越白,反之越黑。比如RGB(150,152,183),RGB值比较接近,但是蓝色的成份较多一些,因此我们可以判断出这是一种蓝灰色。

某种颜色的RGB值如果其中一值与其它两值相差较大,而其它两值比较接近,那么根据RGB中较大的值可以知道这种颜色是比较接近红、绿、蓝、洋红、青、黄中的一种。比如RGB(150,20,156),R和B值比较接近,G的值较小,因此这是种深紫红色;而RGB(150,200,156),R和B值比较接近,G的值较大,因此这是种浅绿色。

这种判断方法,实际上就是我们的大脑凭直觉转换RGB为HSB的一种方法,因此实际调色时,我们一般使用HSB而不用RGB,不过因为RGB值表示颜色的方法在电脑中极为普遍,所以还是需要了解的。

 

阅读(1827) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~