Windows位圖(windows上位圖是little endian)由四部分組成:
A.1,位圖文件頭部
A.2,位圖信息頭部
A.3,顏色表
A.4,位圖的內容(位圖由大量的bit組成)
下表來自HackJava,它描述了A1的結構
# of Bytes | Type | Description |
2 | Character | 文件類型,通常是BM開頭 |
4 | 32-bit Int | 文件大小,單位byte |
2 | 16-bit Int | 保留 |
2 | 16-bit Int | 保留 |
4 | 32-bit Int | 位圖內容(A.4)開始的字節偏移 |
A.2部分的結構如下
# of Bytes | Type | Description |
4 | 32-bit Int | 信息頭的大小(字節數) |
4 | 32-bit Int | 位圖的寬度(如1024像素) |
4 | 32-bit Int | 位圖的高度(如768像素) |
2 | 16-bit Int | Number of bitplanes (should be 1) |
2 | 16-bit Int | 用多少個位去描述一個像素(1, 4, 8, or 24) |
4 | 32-bit Int | 使用的壓縮類型 |
4 | 32-bit Int | 如果使用了壓縮,需要指定位圖的實際大小 |
4 | 32-bit Int | 每米的水平像素的數量(用于放大縮小)? |
4 | 32-bit Int | 每米的垂直像素的數量(用于放大縮小)? |
4 | 32-bit Int | 實際用到的顏色數量 |
4 | 32-bit Int | 較重要顏色的數量(用于減少顏色數) |