颜色索引表(颜色查找表)

对于一个256色(BPP=8)的800*600分辨率的图像而言,若R、G、B分别采用一个字节描述,则需要 800*600*3=1440000Byte的存储空间,使用颜色表则只需800*600*1+256*3=480768Byte的存储空间。

以 下是一个256色的颜色索引表的例子
——————————————————————————————
index            R                  G                         B
0                  14                  125                    69
1                  75                  159                    251        
2                  159                22                      37
3                  0                     0                        0
4                  255                  255                  255
...                  ...                  ...                         ...
...                  ...                  ...                         ...
255             48                  69                       55
                (三基色的比例搭配是我瞎编的)
——————————————————————————————
很显然,对于256色的图形,当使用颜色 索引表的时候,对于每个像素我们只需用一个字节存储其在索引表中的index值即可,如此看来一副800*600像素的256色的图形的存储只需要 800*600*1个Byte,存储该索引表也只需256*3个Byte而已。
同样对于这样一个256色的800*600分辨率的图形,如果采用 直接的三基色存储的话,则对于任何一个像素我们都需要去用三个字节记录它的R、G、B三个分量的值。比如说,某个像素的颜色和上述索引表的index为2 的那种颜色一样,对于索引表方式,我们只需记住该点的颜色为2即可,这当然用一个字节就可以存储了(因为只有256种,这是其中的第2种);但是如果我们 对于该点采用直接记录其三个基色分量的存储方式的话,我们便需要记录这样一组数据( 159,22,37),显然这应该用三个字节分别存储(虽然每个分量确实不是各自都有256中不同值,但是为了简单起见实际中我们还是会用一个字节去记录 一个分量)。

你可能感兴趣的:(LDD3)