关于2bit (单色) BMP

本文详细解析了单色位图文件的存储规则,包括不同尺寸位图的实际存储字节数计算方式及其背后的原理。通过具体例子说明了如何计算每行实际占用的字节数,并解释了填充对齐的概念。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

在48X48的  单色位图文件时发现
1处表示位图数据大小不是48X48/8=0X120字节而是0X180字节对比发现每行的字节数是64见2处文件添加了16位对比了32X32及56X56的图片
 
 
32X32
 
56X56

 

发现行存储规则:
32=8X4
56=8X7->8X8
48=8X6->8X8
因此 行应该是(一个字节代表的位数)8*4的整数倍的数字(比如4、8等)不够整数倍的用整数倍扩展扩展出的数据用0填写 即4字节对齐,按位算。
补充算法每行占的字节数计算公式:
l=(a+(b>0?1:0))*4;
a=w/32(行宽/8)
b=w%32(行宽%8)

如:

56X56的w=56,a=1,b=24 ,l=8占用字节数8X8

121X121w=121,a=3,b=25,l=16占用字节数8X16

在单色存储的文件中

存储结构是w行m列。

第w-1行,第0列第w-1行,第1列.........第w-1行,第m-1列
..............
.............
.............
第0行,第0列第0行,第1列-----第0行,第m-1列
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值