程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> C語言 >> C++ >> 關於C++ >> BMP格式結構詳解

BMP格式結構詳解

編輯:關於C++

前段時間搞了一段時間圖像采集,對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

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved