BMP檔案結構

2021-09-29 19:34:53 字數 1421 閱讀 2252

bmp檔案結構由四個區塊組成,分別是檔案頭區塊、位圖資訊區塊、索引色區塊和顏色資料區塊。

檔案頭共14個位元組,位圖資訊塊共40個位元組;

顏色資料區塊的位元組長度=點陣圖寬*點陣圖高,如果是24位色,顏色資料區塊的位元組長度=點陣圖寬*點陣圖高*3,而且點陣圖寬*3必須是4的倍數,不然自動不全;

一、檔案頭區塊(14個位元組)具體含義

位元組位址

長度說明

16進製制示例

0-12

bm-代表window的bmp

42 4d

2-98

檔案總長度

56 4d

10-13

4顏色資料區塊的起始位址(或檔案頭區塊+點陣圖資訊區塊+索引色區塊)

36 04 00 00

注:檔案總長度=檔案頭區塊+點陣圖資訊區塊+索引色區塊+顏色資料區塊+2。

二、位圖資訊區塊(40個位元組)具體含義

位元組位址

位元組長度

說明16進製制示例值

0-34

位圖資訊區塊的長度(常值:0x280,40)

28 00 00 00

4-74

影象寬度

b4 00 00 00

8-11

4影象高度

68 00 00 00

12-13

2顏色平面數

0114-15

2表示顏色的位元位數,一般為1,4,8,16,24,32

0816-19

4壓縮比(0-不壓縮)

00 00 00 00

20-23

4顏色資料的長度(點陣圖寬*點陣圖高 或 點陣圖寬*點陣圖高*3)

20 49 00 00

24-27

4水平解析度(單位為公尺)

00 00 00 00

28-31

4垂直解析度

00 00 00 00

32-35

4顏色索引數

00 01 00 00

36-39

400 00 00 00

三、索引色區塊

1、非24 位bmp

該區塊長度一般為為1024,即256*4,但也可能是其他值,由檔案頭的10-13位元組決定。

索引色區塊裡分別用rgbx四個位元組表示乙個索引顏色。x位元組無意義。按儲存順序分別代表0-255色(也見過246色,根據影象不同而不同)。

2、24位bmp

該區塊長度為0。

四、顏色資料區塊

儲存順序:以左下角為原點,從左到右,從下到上。

1、非24位bmp

長度=寬*高,且寬必須是4的倍數,每個位元組儲存顏色的索引值:0-255,通過索引值再到索引色區塊中取回rgb。

2、24位bmp

長度=寬*高*3,且寬*3必須是4的倍數,不然要補齊,故長度可能大於寬*3。每3個位元組代表乙個畫素點的rgb。

BMP檔案結構

1.bmp檔案組成 bmp檔案由檔案頭 位圖資訊頭 顏色資訊和圖形資料四部分組成。2.bmp檔案頭 bmp檔案頭資料結構含有bmp檔案的型別 檔案大小和點陣圖起始位置等資訊。其結構定義如下 typedef struct tagbitmapfileheader bitmapfileheader 3.位...

BMP檔案結構

1.bmp檔案組成 bmp檔案由檔案頭 位圖資訊頭 顏色資訊和圖形資料四部分組成。2.bmp檔案頭 bmp檔案頭資料結構含有bmp檔案的型別 檔案大小和點陣圖起始位置等資訊。其結構定義如下 typedef struct tagbitmapfileheader bitmapfileheader 3.位...

BMP檔案結構

平常我們常見的 bmp檔案即位 件,又稱dib裝置無關位圖,是相對於系統記憶體中使用的ddb裝置相關位圖而言的.一 位 件頭 bitmapfileheader struct bftype word 檔案標識,必須是 bm bfsize dword 位 件大小,以位元組為單位 bfreserved1 ...