BMP 文件格式详解.doc
BMP 文件格式详解(BMP file format)
BMP 文件格式,又称为 Bitmap(位图)或是 DIB(Device-Independent Device,设备无关位图),是 Windows 系统中广泛使用的图像文件
格式。由于它可以不作任何变换地保存图像像素域的数据,因此成为我们取得 RAW 数据的重要来源。Windows 的图形用户界面(graphical
user interfaces)也在它的内建图像子系统 GDI 中对 BMP 格式提供了支持。
下面以 Notepad++为分析工具,结合 Windows 的位图数据结构对 BMP 文件格式进行一个深度的剖析。
BMP 文件的数据按照从文件头开始的先后顺序分为四个部分:
¾ bmp 文件头(bmp file header):提供文件的格式、大小等信息
¾ 位图信息头(bitmap information):提供图像数据的尺寸、位平面数、压缩方式、颜色索引等信息
¾ 调色板(color palette):可选,如使用索引来表示图像,调色板就是索引与其对应的颜色的映射表
¾ 位图数据(bitmap data):就是图像数据啦^_^
下面结合 Windows 结构体的定义,通过一个表来分析这四个部分。
我们一般见到的图像以 24 位图像为主,即 R、G、B 三种颜色各用 8 个 bit 来表示,这样的图像我们称为真彩色,这种情况下是不需要
调色板的,也就是所位图信息头后面紧跟的就是位图数据了。因此,我们常常见到有这样一种说法:位图文件从文件头开始偏移 54 个
字节就是位图数据了,这其实说的是 24 或 32 位图的情况。这也就解释了我们按照这种程序写出来的程序为什么对某些位图文件没用
了。
下面针对一幅特定的图像进行分析,来看看在位图文件中这四个数据段的排布以及组成。
我们使用的图像显示如下:
cimage 第 1 页 2011-7-12