根据实际使用设备系统能力的不同,有各种不同的实现方法。截至2006年,最常用的是24-位实现方法,也就是红绿蓝每个通道有8位或者256色级。基于这样的24-位RGB 模型的色彩空间可以表现 256×256×256 ≈ 1670万色。一些实现方法采用每原色16位,能在相同范围内实现更高更精确的色彩密度。这在宽域色彩空间中尤其重要,因为大部分通常使用的颜色排列的相对更紧密。 印刷技术的当中的RGB色彩空间主要是指加色法当中的三度色彩空间,通过使用不同强度的三原色,红、绿、蓝色的光线来组合成不同的色彩,就好像说,如果平时我们利用扫描仪从印刷品上扫描图像,原理就是扫描仪阅读了图像上面的红、绿、蓝三色的光亮度,然后把这些量度转换成数据,当显示器收到这些数据的时候就可以按照程序设定转换成制定的红、绿、蓝三原色,其实他们当中是有很多不同颜色的小色块的,由于这些色块的像素非常非常的小而且密密麻麻的,所以我们眼睛没法分辨出来。 [2] 常见颜色 颜色名称红色值 Red绿色值 Green蓝色值 Blue黑色 0 0 0 蓝色 0 0 255 绿色 0 255 0 青色 0 255 255 红色 255 0 0 亮紫色(洋红色) 255 0 255 黄色 255 255 0 白色 255 255 255 以上颜色为常用的基本颜色。 颜色选择器 颜色选择器是指利用程序实现R、G、B三色的分配,来实现颜色的选择,利用颜色选择器可以选择出所有的颜色,总共有256*256*256种,同时可以实时的预览颜色,这就使得颜色的选择多种多样,并且非常方便。 RGB宏 #define RGB(r,g,b) ((COLORREF)(((BYTE)(r)|((WORD)((BYTE)(g))<<8))|(((DWORD)(BYTE)(b))<<16))) 这是个带三个参数的宏, [3] 首先将r,g,b强制转换成BYTE型,之后g左移8位,b左移16位,并把结果分别强制转换成DWORD型,最后将r,左移8位后的g,还有左移16位后的b三者做按位或,所得的结果强制转换成COLORREF类型。 TheRGBmacro selects a red, green, blue (RGB) color based on the arguments supplied and the color capabilities o