RGB = Red (红) + Green (绿) + Blue (蓝) 取值范围 :rgb(0~255, 0~255, 0~255)
示例:白色:rgb(255, 255, 255) 黑色:rgb(0, 0, 0)
原理(加法原色):RGB是从颜色发光的原理来设计定的,通俗点说它的颜色混合方式就好像有红、绿、蓝三盏灯,当它们的光相互叠合的时候,色彩相混,而亮度却等于两者亮度之总和,越混合亮度越高,即加法混合。
RGB24使用24位来表示一个像素,RGB分量都用8位表示,取值范围为0-255。注意在内存中RGB各分量的排列顺序为:BGR BGR BGR…。通常可以使用RGBTRIPLE数据结构来操作一个像素,它的定义为:
typedef struct tagRGBTRIPLE { BYTE rgbtBlue; // 蓝色分量 BYTE rgbtGreen; // 绿色分量 BYTE rgbtRed; // 红色分量 } RGBTRIPLE;
RGB32使用32位来表示一个像素,RGB分量各用去8位,剩下的8位用作Alpha通道或者不用。(ARGB32就是带Alpha通道的RGB24。)注意在内存中RGB各分量的排列顺序为:BGRA BGRA BGRA…。通常可以使用RGBQUAD数据结构来操作一个像素,它的定义为:
typedef struct tagRGBQUAD { BYTE rgbBlue; // 蓝色分量 BYTE rgbGreen; // 绿色分量 BYTE rgbRed; // 红色分量 BYTE rgbReserved; // 保留字节(用作Alpha通道或忽略) } RGBQUAD
CMYK = Cyan (青) + Magenta (品红) + Yellow (黄) + Key Plate(blacK) (黑)
原理(减法原色):印刷四色模式是彩色印刷时采用的一种套色模式,与RGB的发光色彩模式不同,它是反光的色彩模式。
HSL = H (色相) + Saturation (饱和度) + Lightness (亮度)
取值范围: hsl(0~360, 0~100%, 0~100%)
示例: 红色:hsl(0, 100%, 50%)