关于2bit (单色) BMP

在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列

你可能感兴趣的:(关于2bit (单色) BMP)