BMP文件结构

BMP文件结构由四个区块组成,分别是文件头区块、位图信息区块、索引色区块和颜色数据区块。

文件头共14个字节,位图信息块共40个字节;

颜色数据区块的字节长度=位图宽*位图高,如果是24位色,颜色数据区块的字节长度=位图宽*位图高*3,而且位图宽*3必须是4的倍数,不然自动不全;

 

一、文件头区块(14个字节)具体含义

字节地址长度说明16进制示例
0-12BM-代表window的BMP42 4D
2-98文件总长度56 4D
10-134颜色数据区块的起始地址(或文件头区块+位图信息区块+索引色区块)36 04 00 00

注:文件总长度=文件头区块+位图信息区块+索引色区块+颜色数据区块+2。

二、位图信息区块(40个字节)具体含义

字节地址字节长度说明16进制示例值
0-34位图信息区块的长度(常值:0X280,40)28 00 00 00
4-74图像宽度B4 00 00 00
8-114图像高度68 00 00 00
12-132颜色平面数01
14-152表示颜色的比特位数,一般为1,4,8,16,24,3208
16-194压缩比(0-不压缩)00 00 00 00
20-234颜色数据的长度(位图宽*位图高 或 位图宽*位图高*3)20 49 00 00
24-274水平分辨率(单位为米)00 00 00 00
28-314垂直分辨率00 00 00 00
32-354颜色索引数00 01 00 00
36-394 00 00 00 00

三、索引色区块

1、非24 位BMP

该区块长度一般为为1024,即256*4,但也可能是其他值,由文件头的10-13字节决定。

索引色区块里分别用RGBX四个字节表示一个索引颜色。X字节无意义。按存储顺序分别代表0-255色(也见过246色,根据图像不同而不同)。

2、24位BMP

该区块长度为0。

四、颜色数据区块

存储顺序:以左下角为原点,从左到右,从下到上。

1、非24位BMP

长度=宽*高,且宽必须是4的倍数,每个字节保存颜色的索引值:0-255,通过索引值再到索引色区块中取回RGB。

2、24位BMP

长度=宽*高*3,且宽*3必须是4的倍数,不然要补齐,故长度可能大于宽*3。每3个字节代表一个像素点的RGB。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值