Bmp結構
第一部份是 BITMAPFILEHEADER,它是一個長 14 位元組的結構體,其定義是:
BITMAPFILEHEADER STRUC
bfType // 長兩個位元組,其意義為 ASCII 碼的『BM』,它代表 BMP 檔的識別字
bfSize //bfSize 是這個位元圖的檔案長度,以位元組為單位
bfReserved1 //保留欄位,必定為 0
bfReserved2 //保留欄位,必定為 0
bfOffBits DD //位元資料相對於檔案頭的偏移量,以位元組為單位。
第二部份是 BITMAPINFOHEADER 結構體,其組成欄位是:
BITMAPINFOHEADER STRUC
biSize //biSize 是這個結構體的長度,以位元組為單位
biWidth //表示位元圖的寬度,以點為單位
biHeight //表示位元圖的長度,以點為單位。此值若為正,則起點為左下往右至上、負值為 左上往右至下
biPlanes //這是早期顯示卡硬體尚未發達時遺留下來的,如今已廢棄不用,必為 1
biBitCount //表示每一點需要用多少位元,只可以是 1、4、8、16、24 或 32
biCompression //壓縮方式,可以是 BI_RGB、BI_RLE8、BI_RLE4、BI_BITFIELDS 值,其中 BI_RGB 是完全無壓縮的,也是最常用的。
biSizeImage //BMP 檔的長度,以位元組為單位。
biXPelsPerMeter //圖寬的解析度,以每公尺有多少點
biYPelsPerMeter //圖高的解析度,以每公尺有多少點
biClrUsed //當 biBitCount 不是 1、4、8、16、24 或 32 這些標準的數時使用的。
biClrImportant //當 biBitCount 不是 1、4、8、16、24 或 32 這些標準的數時使用的。
第三部份是色彩對照表,它是由許多數目不定的 RGBQUAD 結構體組成的,RGBQUAD 結構體各欄位如下:
RGBQUAD STRUC
rgbBlue
rgbGreen
rgbRed
rgbReserved
第四部份是位元資料,也是存有整張圖片的圖案資料存放處。
留言
張貼留言