BMP 文件格式
目前支持BMP格式为:单色,16色,256色,16Bit,24Bit,其中16Bit格式中,只支持有调色板的565格式.
偏移 | 名称 | 字节数 | 意义和值 |
0000h | Head | 2 bytes | BM 文件头标志 |
0002h | File Size | 4 bytes | 计算整个文件大小 |
0006h | reserved | 4 bytes | 保留字段必需设置为0 |
000ah | bitmap data offset | 4 bytes | 从文件开始到位图数据开始之间的数据(bitmap data)之间的偏移量 |
000eh | bitmap header size | 4 bytes | 位图信息头(Bitmap Info Header)的长度,用来描述位图的颜色、压缩方法等 |
0012h | width | 4 bytes | 位图的宽度,以象素为单位 |
0016h | height | 4 bytes | 位图的高度,以象素为单位. |
001ah | planes | 2 bytes | 位图的位面数(注:该值将总是1) |
001ch | bits per pixel | 2 bytes | 每帧数据每个象素的位数 1 - 单色位图(实际上可有两种颜色,缺省情况下是黑色和白色。你可以自己定义这两种颜色) 4 - 16 色位图 8 - 256 色位图 16 - 16bit 高彩色位图 24 - 24bit 真彩色位图 32 - 32bit 增强型真彩色位图 |
001eh | compression | 4 bytes | 压缩说明: 0 - 不压缩 (使用BI_RGB表示) 1 - RLE 8-使用8位RLE压缩方式(用BI_RLE8表示) 2 - RLE 4-使用4位RLE压缩方式(用BI_RLE4表示) 3 - Bitfields-位域存放方式(用BI_BITFIELDS表示) |
0022h | bitmap data size | 4 bytes | 用字节数表示的位图数据的大小。该数必须是4的倍数。 |
0026h | hresolution | 4 bytes | 用象素/米表示的水平分辨率 |
002ah | vresolution | 4 bytes | 用象素/米表示的垂直分辨率 |
002eh | colors | 4 bytes | 位图使用的颜色数。如8-比特/象素表示为100h或者 256。 |
0032h | important colors | 4 bytes | 当该域的值等于颜色数时(或者等于0时),表示所有颜色都一样重要。 |
0036h | palette | n * 4 bytes | 对于调色板中的每个表项,这4个字节用下述方法来描述RGB的值: 1字节用于蓝色分量 1字节用于绿色分量 1字节用于红色分量 1字节用于填充符(设置为0) 。 |
0436h | bitmap data | x bytes | 该域的大小取决于压缩方法及图像的尺寸和图像的位深度,它包含所有的位图数据字节,这些数据可能是彩色调色板的索引号,也可能是实际的RGB值,这将根据图像信息头中的位深度值来决定。 |