我有一個.bmp文件理解.bmp文件
我有點理解,有點不明白。我知道前14個字節是我的Bitmapfileheader。我還明白,我的Bitmapinfoheader也包含有關位圖的信息,並且大約有40個字節(在版本3中)。
爲什麼所有的顏色信息都存儲在「FF」中?我知道「00」是「垃圾字節」。我不明白的是爲什麼「FF」中有所有內容?
此外,我不明白是什麼類型的「編碼」是? 42 4D等於做「BM」。那是什麼?如何將我在那裏看到的內容翻譯成顏色或字母或數字?
我能在這種情況下閱讀:
BITMAPFILEHEADER:
前2個字節。 BM如果它是.bmp文件:42 4D = BM(但是42 4D轉換爲BM)
Next 4字節:位圖的大小。 BA 01 00 00.不知道應該是多大。
Next 4字節:保留一些東西。
下一個4個字節:偏移(不太明白)
BITMAPINFOHEADER
下一個4個字節:該BITMAPINFOHEADER的大小。 6C 00 00 00在這裏。
Next 4字節:.bmp的寬度。 0A 00 00 00.我知道自從創建該文件後,它必須是10px。
Next 4字節:.bmp的高度。 0A 00 00 00.我知道自從創建該文件後,它必須是10px。
Next 2字節:來自其他文件格式的內容。
接下來的兩個字節:顏色深度。 18 00 00 00.我認爲只能通過1,2,4,8,16,24,32?
'BMP'文件有不同的子格式。但是在標題中會有多少顏色等級的參數。您是否仔細研究了所有標題參數以及它們的含義,並且意味着如何表示其餘數據? – lurker
@lurker我添加了一些信息 – Stophface
字節排序是小尾數。所以'BA 01 00 00'是十六進制'000001BA',它是442(十進制)。任何代表大小或其他單一值(而不是像素)的多字節值都需要這樣解釋。第二個例子中的顏色深度是十六進制'00000018',它是24(十進制)位。在你的第二個例子中,頭部的大小是十六進制'0000006C',或者十進制的108. – lurker