BMP檔案格式

2021-03-31 20:26:40 字數 1252 閱讀 3947

位置 大小 說明

0000h 2 'bm'檔案標識

0002h 4 檔案大小

0006h 4 保留=0

000ah 4 從檔案開始到位圖資料之間的偏移量

000eh 4 位圖資訊頭,用來描述點陣圖的顏色、壓縮方法等。

0012h 4 點陣圖的寬度,以象素為單位

0016h 4 點陣圖的高度,以象素為單位

001ah 2 點陣圖的位面數=1

001ch 2 每個象素的位數 1/2/4/8/16/24/32

001eh 4 壓縮說明 0不壓縮/1使用8位rle壓縮/2使用4位rle壓縮/3位域存放

0022h 4 用位元組數表示的點陣圖資料的大小。該數必須是4的倍數

0026h 4 用象素/公尺表示的水平解析度

002ah 4 用象素/公尺表示的垂直解析度

002eh 4 位圖使用的顏色數。

0032h 4 指定重要的顏色數。當該域的值等於顏色數時(或者0),表示所有顏色都一樣重要

n*4 調色盤 rgb0

-- 點陣圖區

bi_rle8:每個象素為8位元的rle壓縮編碼,可使用編碼方式和絕對方式中的任何一種進行壓縮,這兩種方式可在同一幅圖中的任何地方使用。

編碼方式:由2個位元組組成,第乙個位元組指定使用相同顏色的象素數目,第二個位元組指定使用的顏色索引。此外,這個位元組對中的第乙個位元組可設定為0,聯合使用第二個位元組的值表示:

第二個位元組的值為0:行的結束。

第二個位元組的值為1:圖象結束。

絕對方式:第乙個位元組設定為0,而第二個位元組設定為0x03~0xff之間的乙個值。在這種方式中,第二個位元組表示跟在這個位元組後面的位元組數,每個位元組包含單個象素的顏色索引。壓縮資料格式需要字邊界(word boundary)對齊。

bi_rle4:每個象素為4位元的rle壓縮編碼,同樣也可使用編碼方式和絕對方式中的任何一種進行壓縮,這兩種方式也可在同一幅圖中的任何地方使用。這兩種方式是:

編碼方式:由2個位元組組成,第乙個位元組指定象素數目,第二個位元組包含兩種顏色索引,乙個在高4位,另乙個在低4位。第乙個象素使用高4位的顏色索引,第二個使用低4位的顏色索引,第3個使用高4位的顏色索引,依此類推。

絕對方式:這個位元組對中的第乙個位元組設定為0,第二個位元組包含有顏色索引數,其後續位元組包含有顏色索引,顏色索引存放在該位元組的高、低4位中,乙個顏色索引對應乙個象素。此外,bi_rle4也同樣聯合使用第二個位元組中的值表示:

第二個位元組的值為0:行的結束。

第二個位元組的值為1:圖象結束。

BMP檔案格式

bmp檔案格式 bmp檔案大體上分成四個部分,如圖1所示。位 件頭bitmapfileheader 位圖資訊頭bitmapinfoheader 調色盤 palette 圖象資料 圖1.windows位 件結構示意圖 第一部分為位 件頭bitmapfileheader,是乙個結構,其定義如下 type...

BMP檔案格式

典型的位 件格式通常包含下面幾個資料塊 下面的部分將會詳細地描述位 件中儲存的資料。需要注意的是這是標準點陣圖的檔案格式,其他一些位圖影象可能根據生成檔案的應用程式不同所使用格式可能會有細微的區別。這部分是識別資訊,典型的應用程式會首先普通讀取這部分資料以確保的確是位 件並且沒有損壞。這部分告訴應用...

BMP檔案格式

include include include typedef short int16 typedef int int32 typedef unsigned int uint32 typedef unsigned char byte bmp 檔案頭,14個位元組 typedef struct sbm...