RGB格式
程序员文章站
2022-03-14 15:56:56
...
RGB
1、简介
①R:red;G:green;B:blue
②色值范围:0~255
2、工具
RGB转16进制:https://c.runoob.com/front-end/55
RGB转HSV:https://c.runoob.com/front-end/868
RGB转CMYK:https://c.runoob.com/front-end/870
16进制转CMYK:https://c.runoob.com/front-end/873
16进制转HSV:https://c.runoob.com/front-end/875
HSV转CMYK:https://c.runoob.com/front-end/877
HTML取色器:https://c.runoob.com/front-end/5449
3、格式
1)索引格式
例:RGB1、RGB4、RGB8,表示每个像素用1bit、4bit、8bit表示,这里面储存的不是实际的RGB的值,而是对应点的像素在调色板中的索引
2)像素格式
例:储存的是每一个像素点的R、G、B的值,RGB24,分别用8个bit表示R、G、B
4、索引格式详解
比较早期的格式,显示的色彩有限
1)RGB1
只有黑、白两种颜色,每个像素1bit
2)RGB4
每个像素4bit,共16中颜色
3)RGB8
每个像素8bit,共256种颜色
5、像素格式详解
1)RGB565
每一个像素16bit:R占用前5bit,G占用中6bit,B占用后5bit
#define RGB555_MASK_RED 0xF800
#define RGB555_MASK_GREEN 0x07E0
#define RGB555_MASK_BLUE 0x001F
R = (wPixel & RGB555_MASK_RED) >> 11; //取值范围0~31
G = (wPixel & RGB555_MASK_GREEN) >> 5; //取值范围0~63
B = wPixel & RGB555_MASK_BLUE; //取值范围0~31
#define RGB(r, g, b) (unsigned int)((r|0x08 << 11) | (g|0x08 << 6) | b|0x08)
#define RGB(r, g, b) (unsigned int)((r|0x08 << 10) | (g|0x08 << 5) | b|0x08)
2)RGB555
每一个像素16bit:第一个bit不用,R占用前5bit,G占用中5bit,B占用后5bit
#define RGB555_MASK_RED 0x7C00
#define RGB555_MASK_GREEN 0x03E0
#define RGB555_MASK_BLUE 0x001F
R = (wPixel & RGB555_MASK_RED) >> 10; //取值范围0~31
G = (wPixel & RGB555_MASK_GREEN) >> 5; //取值范围0~31
B = wPixel & RGB555_MASK_BLUE; //取值范围0~31
3)RGB24
每一个像素24bit:B占用前8bit,G占用中8bit,R占用后8bit,取值范围都是0~255
typedef struct tagRGBTRIPLE{
BYTE rgbBlue; //蓝色分量
BYTE rgbGreen; //绿色分量
BYTE rgbRed; //红色分量
} RGBTRIPLE;
4)ARGB32
每一个像素32bit:B占用前8bit,G占用中8bit,R占用后8bit,最后8bit为透明度,取值范围都是0~255
typedef struct tagRGBTRIPLE{
BYTE rgbBlue; //蓝色分量
BYTE rgbGreen; //绿色分量
BYTE rgbRed; //红色分量
BYTE rgebReserved; //保留字节(用作Alpha通道/忽略)
} RGBTRIPLE;
6、CSS上的使用
<!DOCTYPE html>
<html>
<body>
<h1 style="background-color:#668B8B;">#668B8B</h1>
<h1 style="background-color:rgb(102, 139, 139);">rgb(102, 139, 139)</h1>
<h1 style="background-color:rgba(102, 139, 139, 1);">rgba(102, 139, 139, 1)</h1>
<h1 style="background-color:rgba(102, 139, 139, 0.5);">rgba(102, 139, 139, 0.5)</h1>
</body>
</html>