以下是位图中的十六进制数据:
424d 46000000 0000 0000 3e000000 28000000 02000000 02000000 0100 0100 00000000 08000000 00000000 00000000 00000000 00000000 0000 0000 ffff ff00 c000 0000 0000 0000
我需要了解所有值的含义,尤其是像素值。这是用mspaint保存的单色位图。以下是我的理解/误解...大部分信息都可以从维基和搜索bmp获得。这只是我试图分解我的bmp,其中顶部有两个黑色像素和底部有两个白色像素。
最后一个像素的值真的很令人困惑,我不明白它们怎么会等于它们应该等于的值,而且我认为 RGB 或 BGR 数据只有 3 个字节?此外,像素数据可以被找到的偏移量超出位图中最后一个字节 2 个字节...我感觉自己完全解码错误了或者其他什么。
424d 46000000 0000 0000 3e000000 28000000 02000000 02000000 0100 0100 00000000 08000000 00000000 00000000 00000000 00000000 0000 0000 ffff ff00 c000 0000 0000 0000
我需要了解所有值的含义,尤其是像素值。这是用mspaint保存的单色位图。以下是我的理解/误解...大部分信息都可以从维基和搜索bmp获得。这只是我试图分解我的bmp,其中顶部有两个黑色像素和底部有两个白色像素。
42 4d is BM
46 00 00 00 size of entire file
00 00 reserved 1
00 00 reserved 2
3e 00 00 00 offset to where pixel data can be found
28 00 00 00 # of bytes in this header
02 00 00 00 width of bmp
02 00 00 00 height of bmp
01 00 # of planes
01 00 # of bits per pixel
00 00 00 00 compression
08 00 00 00 size of raw data in pixel array in bytes
00 00 00 00 horizontal resolution pix/m
00 00 00 00 vertical resolution pix/m
00 00 00 00 number of colors
00 00 00 00 important colors
00 00 00 00 x=1 y=2 pixel value? is supposed to be white
ff ff ff 00 x=2 y=2 pixel value? is supposed to be white
c0 00 00 00 x=1 y=1 pixel value? is supposed to be black
00 00 00 00 x=2 y=1 pixel value? is supposed to be black
最后一个像素的值真的很令人困惑,我不明白它们怎么会等于它们应该等于的值,而且我认为 RGB 或 BGR 数据只有 3 个字节?此外,像素数据可以被找到的偏移量超出位图中最后一个字节 2 个字节...我感觉自己完全解码错误了或者其他什么。