以下はビットマップの16進データです
424d 46000000000000000000003E00000028000000 02000000 020000000100 0100 00000000 080000000000000000000000000000000000000000000000000000000000000000
すべての値が表すもの、特にピクセル値を理解する必要があります。これは mspaint で保存されたビットマップで、モノクロのビットマップです。以下は私の理解/誤解です...これのほとんどは、wikiと検索bmpから得た情報です。これは、上部に 2 つの黒いピクセルがあり、下部に 2 つの白いピクセルがある 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バイト過ぎています...完全に間違っているか何かをデコードしているように感じます。