24位bmp图片文件头、信息头的二进制数据

本文详细解析了24位、16位和8位bmp图片的文件头和信息头的数据结构,包括BM标志、图像尺寸、位深度、压缩方式等关键字段,帮助理解bmp文件格式。
摘要由CSDN通过智能技术生成

不知道第几次看这个了,今天再次看的时候 发现又回到了晕晕乎乎的感觉

用PS新建了10*10像素的24位bmp图片,用UE打开仔细瞧瞧

-------------------------------------------------------------以下文件头

42 4D              BM一直不变

78 01 00 00    图片大小

00 00               保留为0

00 00               保留为0

36 00 00 00   偏移  非索引图是54 、索引图不固定
位图文件头 共14个字节(从0计数)


WORD bfType(第0、1字节):
42 4d代表BM(42-B,4d-M)
存储顺序是424d,用双字节单位读取的时候,先读取42放在低字节,再读取4d放在高字节,程序中应该判断双字节单元中存储的是否是0x4d42


 if(header.bfType == 0x4d42) {}
DWORD bfSize(第2、3、4、5字节):
78 01 00 00    即0x178(十进制376)字节,右键属性中显示的整个图片文件的大小
WORD bfReserved1(第6、7字节):
00 00 保留字节 为0
WORD bfReserved2(第8、9字节):
00 00 保留字节 为0
DWORD bfOffBits(第10、11、12、13字节):
36 00 00 00   即0x36(十进制54),位图数据的起始位置是第54字节
(24位图,位图文件头(BITMAPFILEHEADER14字节)和位图信息头(BITMAPINFOHEADER40字节)之后就是位图数据,没有调色板)
-----------------------------------------------------------以下信息头

28 00 00 00    一直不变

0A 00 00 00    宽

0A 00 00 00    长

01 00                一直不变

18 00                多少位图

00 00 00 00    无压缩 一直不变
42 01 00 00    像素数据大小

20 2E 00 00   水平分辨率

20 2E 00 00   垂直分辨率

00 00 00 00    后两个双字用在索引图 

00 00 00 00
位图信息头,共40个字节


DWORD biSize(第14、15、16、17字节)
28 00 00 00  即0x28(十进制40)

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值