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  

第四部份是位元資料,也是存有整張圖片的圖案資料存放處。


留言

這個網誌中的熱門文章

SQL SEVER備份與還原遭遇問題

asp.net頁面間傳值