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