0
我想了解如何在位图文件头中编码图像大小。 wikipedia page仅显示小于255个字节的图像示例,因此大小编码在一个字节中,后跟三个0字节。BMP文件大小编码
问题是,当我测试出更大的图像时,我无法将编码字节与真实大小关联起来。
$ identify bmp1.bmp
bmp1.bmp BMP3 10x10 10x10+0+0 1-bit sRGB 2c 102B 0.000u 0:00.000
$ identify bmp2.bmp
bmp2.bmp BMP3 92x76 92x76+0+0 1-bit sRGB 2c 974B 0.000u 0:00.000
In [28]: [ord(c) for c in bmp1[2:6]]
Out[28]: [102, 0, 0, 0]
In [29]: len(bmp1)
Out[29]: 102
In [30]: [ord(c) for c in bmp2[2:6]]
Out[30]: [206, 3, 0, 0]
In [31]: len(bmp2)
Out[31]: 974
正如你可以看到,第一图像具有102个字节,并且文件头包含编码的大小102。但第二个图像有974字节,文件头包含字节206和3.这是因为文件头大小不可靠,我不应该尝试从这些字节读取大小?否则,你如何计算206和3的974?
谢谢主席先生,完美的答案:)时,我可以会接受的答案,在5分钟 – Fandekasp 2015-03-25 03:27:08