我不能找到一种方法来解释在下列情况下的像素阵列: 我创建了MS一个BMP图像的2x2像素在Windows 7上画图保存为单色BMP(我认为意味着BMP与颜色深度每像素1个比特)如何解释在1 BPP BMP文件的像素阵列
这是图像的样子时放大它(黑色像素,白色像素,白色像素,黑像素)
然后我打开BMP用十六进制编辑器,我可以看到以下信息:
00: 424d 4600 0000 0000 0000 3e00 0000 2800 BMF.......>...(.
10: 0000 0200 0000 0200 0000 0100 0100 0000 ................
20: 0000 0800 0000 0000 0000 0000 0000 0000 ................
30: 0000 0000 0000 0000 0000 3f3f 3f00 3f00 ..........???.?.
40: 0000 4000 0000 0a [email protected]
至于我的维基百科文章有关BMP格式读取(https://en.wikipedia.org/wiki/BMP_file_format)这部分是像素阵列:
3F00 0000 4000 0000
什么是像素阵列中的值的含义是什么? 3F值是否有特殊含义?
嗨阿德里安,为感谢您的说明。它非常有意义。奇怪的是,我试图在Windows 7上使用Photoshop CS6和MS Paint创建相同的BMP文件,并得到了上面粘贴的结果。你用来创建你的程序是什么? –
我在Windows 7上使用了MS Paint。 –
好的发现了问题。我使用vim和xxd来检查BMP文件的十六进制。当我没有在vim中用“vim -b pic.bmp”读取二进制文件中的BMP文件时,那个奇怪的状态就出现了,所以问题在于用vim显示十六进制文件,而不是文件本身。再次感谢您的帮助。 –