前段時間搞了一段時間圖像采集,對BMP格式和JPG格式的圖片又進一步深入的研究了一番,這篇博文就先介紹BMP格式文件的結構,在網上翻閱了很多資料,發現有很多大牛在這一點的研究頗深...下面就借鑒下他們的東西了...
首先,整個bmp文件的內容可以分為3到4塊。之所以分為3到4塊而不是固定的值,是因為,對於bmp來說可能存在調色板或者一些掩碼。具體稍候討論。
第一塊是bmp的文件頭用於描述整個bmp文件的情況。結構如下:
typedefstruct tagBITMAPFILEHEADER { WORD bfType; DWORD bfSize; WORD bfReserved1; WORD bfReserved2; DWORD bfOffBits; } BITMAPFILEHEADER, *PBITMAPFILEHEADER;
這些信息相當有用,如果你想直接來解析bmp文件。第一個bfType用於表示文件類型,如果它是bmp文件,那麼它這個位置的值一定是”BM”也就是0x4D42。第二個bfSize表示整個文件的字節數。第三第四個 則保留,目前無意義,最後一個相當重要,表示,位圖的數據信息離文件頭的偏移量,以字節為單位。
首先,整個bmp文件的內容可以分為3到4塊。之所以分為3到4塊而不是固定的值,是因為,對於bmp來說可能存在調色板或者一些掩碼。具體稍候討論。
第一塊是bmp的文件頭用於描述整個bmp文件的情況。結構如下:
typedefstruct tagBITMAPFILEHEADER { WORD bfType; DWORD bfSize; WORD bfReserved1; WORD bfReserved2; DWORD bfOffBits; } BITMAPFILEHEADER, *PBITMAPFILEHEADER;
這些信息相當有用,如果你想直接來解析bmp文件。第一個bfType用於表示文件類型,如果它是bmp文件,那麼它這個位置的值一定是”BM”也就是0x4D42。第二個bfSize表示整個文件的字節數。第三第四個 則保留,目前無意義,最後一個相當重要,表示,位圖的數據信息離文件頭的偏移量,以字節為單位。
reference from:http://blog.csdn.net/jurrah/article/details/4163333
另外還有一位大牛的博文寫的也是相當的精彩http://www.cnblogs.com/beer/archive/2010/11/21/1883054.html
http://www.blogjava.net/georgehill/articles/6549.html
本文出自 “驿落黃昏” 博客,請務必保留此出處http://yiluohuanghun.blog.51cto.com/3407300/864001