2000字范文,分享全网优秀范文,学习好帮手!
2000字范文 > BMP文件二进制格式详解

BMP文件二进制格式详解

时间:2021-12-20 02:25:37

相关推荐

BMP文件二进制格式详解

本文参考 /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 补零

三、数据反序

BMP格式设计者规定,当高度为正值时,图像数据块中记录的第一行像素数据是图像的最后一行;而数据块中最后一行数据才是实际图像的第一行,也就是说,数据块中的行记录与实际图像反序。而当高度为负值时,数据块中的行记录与实际图像才是同序的

高度为负数

颜色数据:

00 00 00 FF FF FF 00 00 FF FF FF 00 00 FF 00 00

对应颜色:

黑 白 补零 白 红 补零

证实数据反序

高度为负数

证实数据同序

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。