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值,这将根据图像信息头中的位深度值来决定。 |