掩码调色板内容,目的是给位图数据文件进行"与"和移位运算得到真正的像素分量值的:
典型的调色板规范在文件中的顺序为为:
00F8 0000 E007 0000 1F00 0000 0000 0000
其中
00F8 0000为FB00h=1111100000000000(二进制),是蓝红分量的掩码。
E007 0000为 07E0h=0000011111100000(二进制),是绿色分量的掩码。
1F00 0000为001Fh=0000000000011111(二进制),是蓝色分量的掩码。
0000 0000设置为0。
r = (F102 AND F800) >> 8 = F0h = 240
g= (F102 AND 07E0)>> 3 = 20h = 32
b=(F102 AND 001F) << 3 = 10h =16
这样再将rgb位移:
unsigned int dwPixelColor = r;
dwPixelColor = (dwPixelColor<<8) & g;
dwPixelColor = (dwPixelColor<<8) & b;
就得到了每个像素的值,可以将这些像素值提交给显卡就可以把图像渲染出来,当然一些图像软件会在代码里面进行这样的位图文件解析。