位置 大小 说明
0000H 2 'BM'文件标识
0002H 4 文件大小
0006H 4 保留=0
000AH 4 从文件开始到位图数据之间的偏移量
000EH 4 位图信息头,用来描述位图的颜色、压缩方法等。
0012H 4 位图的宽度,以象素为单位
0016H 4 位图的高度,以象素为单位
001AH 2 位图的位面数=1
001CH 2 每个象素的位数 1/2/4/8/16/24/32
001EH 4 压缩说明 0不压缩/1使用8位RLE压缩/2使用4位RLE压缩/3位域存放
0022H 4 用字节数表示的位图数据的大小。该数必须是4的倍数
0026H 4 用象素/米表示的水平分辨率
002AH 4 用象素/米表示的垂直分辨率
002EH 4 位图使用的颜色数。
0032H 4 指定重要的颜色数。当该域的值等于颜色数时(或者0),表示所有颜色都一样重要
n*4 调色板 RGB0
-- 位图区
BI_RLE8:每个象素为8比特的RLE压缩编码,可使用编码方式和绝对方式中的任何一种进行压缩,这两种方式可在同一幅图中的任何地方使用。
编码方式:由2个字节组成,第一个字节指定使用相同颜色的象素数目,第二个字节指定使用的颜色索引。此外,这个字节对中的第一个字节可设置为0,联合使用第二个字节的值表示:
第二个字节的值为0:行的结束。
第二个字节的值为1:图象结束。
第二个字节的值为2:其后的两个字节表示下一个象素从当前开始的水平和垂直位置的偏移量。
绝对方式:第一个字节设置为0,而第二个字节设置为0x03~0xFF之间的一个值。在这种方式中,第二个字节表示跟在这个字节后面的字节数,每个字节包含单个象素的颜色索引。压缩数据格式需要字边界(word boundary)对齐。
BI_RLE4:每个象素为4比特的RLE压缩编码,同样也可使用编码方式和绝对方式中的任何一种进行压缩,这两种方式也可在同一幅图中的任何地方使用。这两种方式是:
编码方式:由2个字节组成,第一个字节指定象素数目,第二个字节包含两种颜色索引,一个在高4位,另一个在低4位。第一个象素使用高4位的颜色索引,第二个使用低4位的颜色索引,第3个使用高4位的颜色索引,依此类推。
绝对方式:这个字节对中的第一个字节设置为0,第二个字节包含有颜色索引数,其后续字节包含有颜色索引,颜色索引存放在该字节的高、低4位中,一个颜色索引对应一个象素。此外,BI_RLE4也同样联合使用第二个字节中的值表示:
第二个字节的值为0:行的结束。
第二个字节的值为1:图象结束。
第二个字节的值为2:其后的两个字节表示下一个象素从当前开始的水平和垂直位置的偏移量。
0000H 2 'BM'文件标识
0002H 4 文件大小
0006H 4 保留=0
000AH 4 从文件开始到位图数据之间的偏移量
000EH 4 位图信息头,用来描述位图的颜色、压缩方法等。
0012H 4 位图的宽度,以象素为单位
0016H 4 位图的高度,以象素为单位
001AH 2 位图的位面数=1
001CH 2 每个象素的位数 1/2/4/8/16/24/32
001EH 4 压缩说明 0不压缩/1使用8位RLE压缩/2使用4位RLE压缩/3位域存放
0022H 4 用字节数表示的位图数据的大小。该数必须是4的倍数
0026H 4 用象素/米表示的水平分辨率
002AH 4 用象素/米表示的垂直分辨率
002EH 4 位图使用的颜色数。
0032H 4 指定重要的颜色数。当该域的值等于颜色数时(或者0),表示所有颜色都一样重要
n*4 调色板 RGB0
-- 位图区
BI_RLE8:每个象素为8比特的RLE压缩编码,可使用编码方式和绝对方式中的任何一种进行压缩,这两种方式可在同一幅图中的任何地方使用。
编码方式:由2个字节组成,第一个字节指定使用相同颜色的象素数目,第二个字节指定使用的颜色索引。此外,这个字节对中的第一个字节可设置为0,联合使用第二个字节的值表示:
第二个字节的值为0:行的结束。
第二个字节的值为1:图象结束。
第二个字节的值为2:其后的两个字节表示下一个象素从当前开始的水平和垂直位置的偏移量。
绝对方式:第一个字节设置为0,而第二个字节设置为0x03~0xFF之间的一个值。在这种方式中,第二个字节表示跟在这个字节后面的字节数,每个字节包含单个象素的颜色索引。压缩数据格式需要字边界(word boundary)对齐。
BI_RLE4:每个象素为4比特的RLE压缩编码,同样也可使用编码方式和绝对方式中的任何一种进行压缩,这两种方式也可在同一幅图中的任何地方使用。这两种方式是:
编码方式:由2个字节组成,第一个字节指定象素数目,第二个字节包含两种颜色索引,一个在高4位,另一个在低4位。第一个象素使用高4位的颜色索引,第二个使用低4位的颜色索引,第3个使用高4位的颜色索引,依此类推。
绝对方式:这个字节对中的第一个字节设置为0,第二个字节包含有颜色索引数,其后续字节包含有颜色索引,颜色索引存放在该字节的高、低4位中,一个颜色索引对应一个象素。此外,BI_RLE4也同样联合使用第二个字节中的值表示:
第二个字节的值为0:行的结束。
第二个字节的值为1:图象结束。
第二个字节的值为2:其后的两个字节表示下一个象素从当前开始的水平和垂直位置的偏移量。