BMP文件二进制格式详解

本文参考 https://www.cnblogs.com/wainiwann/p/7086844.html

一、创建1像素的BMP

如图,打开画图工具->点击重新调整大小->选择像素->分别输入1
记得把保持纵横比去掉,不然为等比例修改。

二、 十六进制分析

UltraEdit 推荐~

bmp文件头(14位)

位图信息头(40位)

数据对齐(4的倍数)

经过比较发现,还有4个字节数据,
前面3个字节,为位图数据1像素BGR,共三个字节,并补零(每行都会)。

Windows默认的扫描的最小单位是4字节,如果数据对齐满足这个值的话对于数据的获取速度等都是有很大的增益的。BMP图像会对齐。
人为删掉这个补零,并修改前面的文件大小3A为39,和图片数据字段4为3,依然会提示图片顺坏。

下图为红色1像素, 00 00 FF 补零

三、数据反序

高度为负数


颜色数据:
00 00 00 FF FF FF 00 00 FF FF FF 00 00 FF 00 00
对应颜色:
黑 白 补零 白 红 补零

证实数据反序

高度为负数


证实数据同序

本文链接:https://my.lmcjl.com/post/4538.html

展开阅读全文

4 评论

留下您的评论.