BMP文件格式混淆

时间:2016-09-18 23:16:46

标签: c++ windows bmp

我正在用C ++编写自己的BMP文件阅读器,还有一些我不太确定的文档。

BMP File Format的Wiki页面中,有一张BMP所有实用格式的图表。

enter image description here

对于看起来像8.8.8.0.8的值,如BI_RGB中的32 bpp BITMAPINFOHEADER,每个值是否表示可用于表示RGBAX中每个颜色通道的位数?如果是这种情况,'X'是什么?为什么有8位用于它呢?我可以将它用于alpha通道吗?

1 个答案:

答案 0 :(得分:0)

R.G.B.A.X符号曾经在Wikipedia上进行了记录(即使带有一些彩色图表),但在那里的一些忙碌人员已将其删除。但是,您仍然可以在文章的历史记录中找到它。请参见 here

无论如何,8.8.8.0.8表示每个像素32位(因为所有数字的总和等于32),0表示Alpha通道(Alpha通道)没有位既不会以这种格式编码,也不会以任何码盘像素格式编码)。最后的8(在第五个X位置)表示在此编码中,每个像素有8个未使用的位。

此外,下面的Wikipedia文章和图表比MSDN拥有的更完整的内容。请参阅Chris Cox对MSDN文档的批评 here enter image description here