1.1.3 颜色表
图像的位图数据是一个二维数组(矩阵),矩阵的每一个元素对应了图像的一个像素,当保存一幅图像时,不但要保存图像的位图数据矩阵,还要将每个像素的颜色保存下来,颜色的记录是利用颜色表来完成的。
颜色表,也叫颜色查找表,是图像像素数据的颜色索引表。以一个4色位图为例,则其颜色表有4个表项,表中每一行记录一种颜色的R、G、B值,这样,当表示一个像素的颜色时,只需要指出该颜色在第几行,即该颜色在表中的索引值即可。假设该4色位图的颜色表如表1-1所示,并假设该4色位图大小为8行8列,其图像数据阵列如图1-4所示。
表1-1 4色位图的颜色表
|
颜色索引值< xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" /> |
蓝色成分 |
绿色成分 |
红色成分 |
|
0 |
0 |
0 |
0 |
|
1 |
255 |
0 |
0 |
|
2 |
0 |
255 |
0 |
|
3 |
0 |
0 |
255 |
|
| 图1-4 4色位图数据矩阵 |
该位图有4种颜色(最多也只能有4种颜色),对于位图矩阵中第3行第4列的像素,该像素的值为2,则其颜色由颜色表第3行决定(索引值从0开始),该行的颜色为绿色(0,255,0)。
为了简单起见,上面颜色表的例子每一个记录只有3个分量——R、G、B,实际上,真正一幅BMP图像其颜色表的每一个记录是由4个分量组成的,这在1.2.1节“BMP文件结构”中有详细介绍。
有一个特例,对于真彩色图像,每个像素占存储空间3个字节(24位),分别对应R、G、B三个分量,每个像素的值已经将该像素的颜色记录下来了,不再需要颜色表,因此24位真彩色位图没有颜色表。
【责任编辑:
夏书 TEL:(010)68476606】