RGB:是一种加色模型,将红(Red
)、绿(Green
)、蓝(Blue
)三原色的色光以不同的比例相加,以产生多种多样的色光;且三原色的红绿蓝不可能用其他单色光合成。
-
浮点表示方式:取值范围为
0.0 ~ 1.0
。
-
整数表示:取值范围为
0 ~ 255
或者 00 ~ FF
(如 RGBA_8888、RGB_565)。
格式
索引形式
-
RGB1:每个像素用 1 个
bit
表示 0
,1
两种值,可表示的颜色范围为双色,即最传统的黑和白;需要调色板,不过调色板只包含两种颜色。
-
RGB4:每个像素用 4 个
bit
表示,4 个 bit
所能够表示的索引范围是 0~15
,共 16 个。也就是可以表示 16 种颜色。即调色板中包含 16 中颜色。
-
RGB8:每个像素用 8 个
bit
表示。8 个 bit
所能够表示的索引范围是 0~255
,共 256 个。也就是可以表示 256 种颜色。即调色板中包含 256 种颜色。
像素形式
- RGB555:
-
概述:每一个像素用 16 个
bit
(2个字节)来表示,但最高位不用,R 用 5 个 bit
、G 用 5 个 bit
、B 用 5 个 bit
表示。
- 内存示意图:
-
-
-
获取具体像素值方法:(假设
color
为存储某一个像素点的变量)
-
R = color & 0x7C00
// 获取高字节 5 个 bit
-
G = color & 0x03E0
// 获取中间的 5 个 bit
-
B = color & 0x001F
// 获取低字节 5 个 bit
RGB565:
-
概述:每一个像素用 16 个
bit
(2 个字节)来表示,R 用 5 个 bit
、G 用 6 个 bit
、B 用 5 个 bit
表示。
- 内存示意图:
-
-
获取具体像素值方法:(假设
color
为存储某一个像素点的变量)
-
R = color & 0xF800
// 获取高字节 5 个 bit
-
G = color & 0x07E0
// 获取中间的 6 个 bit
-
B = color & 0x001F
// 获取低字节 5 个 bit
RGB24:
-
概述:每一个像素用 24 个
bit
(3个字节)来表示,R、G、B 均用 8 bit
表示。
-
内存示意图:
-
获取具体像素值方法:(假设
color
为存储某一个像素点的变量)
R = color & 0x0000FF
G = color & 0x00FF00
B = color & 0xFF0000
RGB32:
-
概述:每一个像素用 32 个
bit
(4个字节)来表示,R、G、B 均用 8 bit
表示,最后 1 个字节保留
-
内存示意图:
-
获取具体像素值方法:(假设
color
为存储某一个像素点的变量)
R = color & 0x0000FF00
G = color & 0x00FF0000
B = color & 0xFF000000