




下載本文檔
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、5.2 BMP文件格式BMP文件格式是Microsoft Windows下最常見的圖像文件格式之一,它采用位映射存儲(chǔ)格式,除了圖像深度可選以外,不采用其他任何壓縮,因此,BMP文件所占用的空間很大。BMP文件的圖像深度可選lbit、4bit、8bit及24bit。BMP文件存儲(chǔ)數(shù)據(jù)時(shí),圖像的像素值在文件中的存放順序?yàn)閺淖蟮接?,從下到?,也就是說,在BMP文件中首先存放的是圖像的最后一行像素,最后才存儲(chǔ)圖像的第一行像素,但對(duì)與同一行的像素,則是按照先左邊后右邊的的順序存儲(chǔ)的;另外一個(gè)需要關(guān)注的細(xì)節(jié)是:文件存儲(chǔ)圖像的每一行像素值時(shí),如果存儲(chǔ)該行像素值所占的字節(jié)數(shù)為4的倍數(shù),則正常存儲(chǔ),否則,需要
2、在后端補(bǔ)0,湊足4的倍數(shù)。由于BMP文件格式是Windows環(huán)境中交換與圖有關(guān)的數(shù)據(jù)的一種標(biāo)準(zhǔn),因此在Windows環(huán)境中運(yùn)行的圖形圖像 HYPERLINK /view/37.htm t _blank 軟件都支持BMP圖像格式。5.2.1典型的BMP HYPERLINK /view/42116.htm t _blank 圖像文件由四部分組成:1、位圖頭文件數(shù)據(jù)結(jié)構(gòu)主要包含文件的大小、文件類型、圖像數(shù)據(jù)偏離文件頭的長(zhǎng)度等信息;2、 HYPERLINK /view/56073.htm t _blank 位圖信息數(shù)據(jù)結(jié)構(gòu)包含圖象的尺寸信息、圖像用幾個(gè)比特?cái)?shù)值來表示一個(gè)像素、圖像是否壓縮、圖像所用的顏
3、色數(shù)等信息;3、 HYPERLINK /view/1120949.htm t _blank 調(diào)色板包含圖像所用到的顏色表,顯示圖像時(shí)需用到這個(gè) 顏色表來生成調(diào)色板,但如果圖像為真彩色,既圖像的每個(gè)像素用24個(gè)比特來表示,文件中就沒有這一塊信息,也就不需要操作調(diào)色板。4、位圖數(shù)據(jù)記錄了位圖的每一個(gè)像素值或該對(duì)應(yīng)像素的顏色表的索引值,圖像記錄順序是在掃描行內(nèi)是從左到右, 掃描行之間是從下到上。這種格式我們又稱為 Bottom_Up位圖,當(dāng)然與之相對(duì)的還有Up_Down形式的位圖,它的記錄順序是從上到下的,對(duì)于這種形式的位圖,也不存在壓縮形式。5.2.2 BMP文件結(jié)構(gòu)位圖文件(bitmap fil
4、e, BMP)格式是Windows采用的圖像文件存儲(chǔ)格式,在Windows環(huán)境下運(yùn)行的所有圖像處理軟件都支持這種格式。 Windows3.0以后的BMP格式與顯示設(shè)備無關(guān),因此把這種BMP格式稱為設(shè)備無關(guān)位圖(Device Independentbit Bitmap , DIB)格式, Windows能夠在任何類型的顯示設(shè)備上顯示BMP位圖。BMP位圖默認(rèn)的文件擴(kuò)展名是bmp。1、文件結(jié)構(gòu)位圖文件可看成由4個(gè)部分組成:位圖文件頭(Bitmap-File)、位圖信息頭(Bitmap-Information Header)、彩色表(Color Table)和定義位圖的字節(jié)陣列,它們的名稱和符號(hào)如下
5、表1所示:表1 BMP圖像文件組成部分的名稱和符號(hào)位圖文件的組成結(jié)構(gòu)名稱符 號(hào)位圖文件頭BITMAPEILEHEADERbmfh位圖信息頭BITMAPINFOHEADERbmib彩色表RGBQUADaColors 圖像數(shù)據(jù)陣列字節(jié)BITMAPDATAaBitmapBits 2、位圖文件結(jié)構(gòu)可綜合在下表中:表2 位圖文件結(jié)構(gòu)偏移量名稱大?。╞yte)內(nèi)容圖像文件頭000h標(biāo)識(shí)符2兩字節(jié)的內(nèi)容用來識(shí)別位的類型:BMWindows 3.x,9x,NT,CI、CP、IC、PTOS/2002hFile Size4用字節(jié)表示的整個(gè)文件的大小006hReserved4保留,設(shè)置為0000AhBitmap D
6、ata Offset4從文件開始到位圖數(shù)據(jù)開始之間的數(shù)據(jù)(Bitmap Data)的偏移量圖像信息頭000EhBitmap Header Size4位圖信息頭的長(zhǎng)度,用來描述位圖的顏色和壓縮方法等。下面的長(zhǎng)度表示:28 hWindows3.X ,9X,NT0Ch/F0hOS/2 1.x0012hWidth4位圖的寬度,以像素為單位0016hHeight4位圖的高度,以像素為單位001AhPlanes2位圖的位面數(shù)001ChBites Per Pixel2每個(gè)像素的位數(shù)1單色位圖;416色圖;8256色位圖1616bit 高彩位圖;2424位真彩位圖001EhCompression4壓縮說明:0
7、:無壓縮;1RLE 8-bit/pixel(BI_RLE4)2RLE 4-bit/pixel(BIRLE8)3Bitfields(BI_BITFIELDS)0022hBitmap Data Size4用字節(jié)數(shù)表示的位圖數(shù)據(jù)的大小。該數(shù)必須是4的倍數(shù)。0026hHresolution4用pixel/m表示的水平分辨率002AhVresolution4用pixel/m表示的水平分辨率002EhColors4位圖使用的顏色數(shù)。如8bit/pixel表示為100h或者2560032hImportant Colors4指定重要的顏色數(shù)。當(dāng)該域的值等于顏色數(shù)時(shí),表示所有顏色都一樣重要0036hPalett
8、eN*4調(diào)色板規(guī)范。對(duì)于調(diào)色板中的每個(gè)表項(xiàng),這4個(gè)字節(jié)用下述方法來描述RGB的值:1字節(jié)用于表示RGB中的藍(lán)色分量1字節(jié)用于表示RGB中的綠色分量1字節(jié)用于表示RGB中的紅色分量1字節(jié)用于表示填充符(設(shè)置為0)0436hBitmap DataX該域的大小取決于壓縮方法它包含所有的位圖數(shù)據(jù)字節(jié),這些數(shù)據(jù)字節(jié)實(shí)際就是彩色調(diào)節(jié)器色板的索引號(hào)3、結(jié)構(gòu)詳解(1)位圖文件頭:它包含有關(guān)于文件類型、文件大小和存放位置等信息,在Windows 3.0以上版本的位圖文件中用BITMSPFILEHEADER結(jié)構(gòu)體來定義。位圖文件頭包含了圖像類型、圖像大小、圖像數(shù)據(jù)存放地址和兩個(gè)保留未使用的字段。BMP文件頭數(shù)據(jù)結(jié)
9、構(gòu)含有BMP文件的類型、文件大小和位圖起始位置等信息。 其結(jié)構(gòu)定義如下:typedef struct tagBITMAPFILEHEADERWORD bfType; / 位圖文件的類型,必須為BMDWORD bfSize; / 位圖文件的大小,以字節(jié)為單位 WORD bfReserved1; / 位圖文件保留字,必須為0WORD bfReserved2; / 位圖文件保留字,必須為0DWORD bfOffBits; / 位圖數(shù)據(jù)的起始位置,以相對(duì)于位圖/ 每個(gè)像素所需的位數(shù),必須是 1( 雙色), 4(16 色),8(256 色)或24(真彩色)/ 文件頭的偏移量表示,以字節(jié)為單位 BITMA
10、PFILEHEADER; /該結(jié)構(gòu)占據(jù)14個(gè)字節(jié)。(2)位圖信息頭:位圖信息用BITMAPINFO結(jié)構(gòu)體來定義,位圖信息頭包含了位圖信息頭的大小、圖像的寬高、圖像的色深、壓縮說明圖像數(shù)據(jù)的大小和其他一些參數(shù)。BMP位圖信息頭數(shù)據(jù)用于說明位圖的尺寸等信息。typedef struct tagBITMAPINFOHEADERDWORD biSize; / 本結(jié)構(gòu)所占用字節(jié)數(shù)LONG biWidth; / 位圖的寬度,以像素為單位LONG biHeight; / 位圖的高度,以像素為單位WORD biPlanes; / 目標(biāo)設(shè)備的級(jí)別,必須為1WORD biBitCount / 每個(gè)像素所需的位數(shù),
11、必須是1(雙色) (黑白二色圖),/ 4(16色),8(256色)或24(真彩色)之一 (新的.bmp格式支持32位色)DWORD biCompression; / 位圖壓縮類型,必須是 0(不壓縮),/ 1(BI_RLE8壓縮類型)或2(BI_RLE4壓縮類型)之一DWORD biSizeImage; / 位圖的大小,以字節(jié)為單位LONG biXPelsPerMeter; / 位圖水平分辨率,每米像素?cái)?shù)LONG biYPelsPerMeter; / 位圖垂直分辨率,每米像素?cái)?shù)DWORD biClrUsed; / 位圖實(shí)際使用的顏色表中的顏色數(shù)DWORD biClrImportant; / 位
12、圖顯示過程中重要的顏色數(shù) BITMAPINFOHEADER; /該結(jié)構(gòu)占據(jù)40個(gè)字節(jié)它由位圖信息頭和彩色表組成,前者用BITMAPINFOHEADER結(jié)構(gòu)體定義,后者用RGBQUAD結(jié)構(gòu)體定義。1)彩色表的定位:應(yīng)用程序進(jìn)行彩色表的定位時(shí),可使用存儲(chǔ)在biSize成員中的信息來查找在BITMAPINFO結(jié)構(gòu)體中的彩色表。2)biBitCount:biBitCount=1表示位圖最多有兩種顏色,黑色和白色。圖像數(shù)據(jù)陣列中的每一位表示一個(gè)pixel:biBiCount=4表示位圖最多有16種顏色。每個(gè)像素用場(chǎng)bit表示,交用這4bit作為彩色表的表項(xiàng)來查找該像素的顏色。3)ClrUsed:BITM
13、APINFOHEADER結(jié)構(gòu)中的成員ClrUsed指定實(shí)際使用的顏色數(shù)目。4)8bit/pixel的圖像數(shù)據(jù)壓縮:BI_RLE8 8bit/pixel的RLE壓縮編碼,可使用編碼方式和絕對(duì)方式中的任何一種進(jìn)行壓縮,這兩種方式可在同一幅圖中的任何地方使用。編碼方式 由此及彼個(gè)字節(jié)組成,第一個(gè)字節(jié)指定使用相同顏色的像素?cái)?shù)目,第二個(gè)字節(jié)指字使用的顏色索引。此外,這個(gè)字節(jié)對(duì)中的第一個(gè)字節(jié)可設(shè)置為0,聯(lián)合使用第二個(gè)字節(jié)的值表示:第二個(gè)字節(jié)的值為0 行的結(jié)束第二個(gè)字節(jié)的值為1 圖像結(jié)束第二個(gè)字節(jié)的值為2 其后的兩個(gè)字節(jié)表示下一個(gè)像素從當(dāng)前開始的水平和垂直位置的偏移量絕對(duì)方式 第一個(gè)字節(jié)設(shè)置為0,而第二個(gè)字
14、節(jié)設(shè)置為03h0FFh之間的一個(gè)值。在這種方式中,第二個(gè)字節(jié)表示跟在這個(gè)字節(jié)后面的字節(jié)數(shù),每個(gè)字節(jié)包含單個(gè)像素的顏色索引。5)每個(gè)像素為4位的圖像數(shù)據(jù)壓縮:BI_RLE4 每個(gè)像素為4位的RLE壓縮編碼,同樣也可使用編碼方式和絕對(duì)方式中的任何一種進(jìn)行壓縮,這兩種方式也可在同一幅圖中的任何地方使用。編碼方式 由2個(gè)字節(jié)組成,第一個(gè)字節(jié)指定像素?cái)?shù)目,第二個(gè)字節(jié)包含兩種顏色索引。絕對(duì)方式 這個(gè)字節(jié)對(duì)中的第一個(gè)字節(jié)設(shè)置為0,第二個(gè)字節(jié)包含有顏色索引數(shù),其后續(xù)字節(jié)包含有顏色索引,顏色索引存放在該字節(jié)的高、低4位中,一個(gè)顏色索引對(duì)應(yīng)一個(gè)像素。BI_RLE4也同樣聯(lián)合使用第二個(gè)字節(jié)中的值表示:第二個(gè)字節(jié)的值
15、為0 行的結(jié)束第二個(gè)字節(jié)的值為1 圖像結(jié)束第二個(gè)字節(jié)的值為2 其后的兩個(gè)字節(jié)表示下一個(gè)像素從當(dāng)前開始的水平和垂直位置的偏移量(3)彩色表:包含的元素與位圖所具有的顏色數(shù)相同,像素的顏色用RGBQUAD結(jié)構(gòu)來定義。彩色表中的顏色按顏色的重要性排序,這可輔助顯示驅(qū)動(dòng)程序?yàn)椴荒茱@示足夠多顏色數(shù)的顯示設(shè)備顯示彩色圖像。顏色表用于說明位圖中的顏色,它有若干個(gè)表項(xiàng),每一個(gè)表項(xiàng)是一個(gè)RGBQUAD類型的結(jié)構(gòu),定義一種顏色。RGBQUAD結(jié)構(gòu)的定義如下:typedef struct tagRGBQUAD BYTE rgbBlue; / 藍(lán)色的亮度(值范圍為0-255)BYTE rgbGreen; / 綠色的亮
16、度(值范圍為0-255)BYTE rgbRed; / 紅色的亮度(值范圍為 0-255)BYTE rgbReserved; / 保留,必須為0 RGBQUAD;彩色表/調(diào)色板(color table)是單色、16色和256色圖像文件所特有的,相對(duì)應(yīng)的調(diào)色板大小是2、16和256,調(diào)色板以4字節(jié)為單位,每4個(gè)字節(jié)存放一個(gè)顏色值,圖像的數(shù)據(jù)是指向調(diào)色板的索引??梢詫⒄{(diào)色板想象成一個(gè)數(shù)組,每個(gè)數(shù)組元素的大小為4字節(jié),假設(shè)有一256色的BMP圖像的調(diào)色板數(shù)據(jù)為:調(diào)色板0=黑、調(diào)色板1=白、調(diào)色板2=紅、調(diào)色板3=藍(lán)調(diào)色板255=黃圖像數(shù)據(jù)01 00 02 FF表示調(diào)用調(diào)色板1、調(diào)色板0、調(diào)色板2和調(diào)色板255中的數(shù)據(jù)來顯示圖像顏色。每個(gè)調(diào)色板的大小為4字節(jié),按藍(lán)、綠、紅存儲(chǔ)一個(gè)顏色值。(4)位圖數(shù)據(jù):緊跟在彩色表之后的是圖像數(shù)據(jù)字節(jié)陣列。圖像的每一掃描行由表示圖像像素的連續(xù)的字節(jié)組成,每一行的字節(jié)數(shù)取決于圖像的顏色數(shù)目和用像素表示的圖像寬度。位圖的一個(gè)像 素值所占的字節(jié)數(shù):當(dāng)biBitCount=1時(shí),8個(gè)像素占1個(gè)字節(jié);當(dāng)biBitCount=4時(shí),2個(gè)像素占1個(gè)字節(jié);當(dāng)biBitCount=8 時(shí),1個(gè)像素占1個(gè)字節(jié);當(dāng)biBitCount=24時(shí),1個(gè)像素占3個(gè)字節(jié),此時(shí)圖像為真彩色圖像。當(dāng)圖像不是為真彩色時(shí),圖像文件中包含顏色表,位 圖的數(shù)據(jù)表示對(duì)應(yīng)像素點(diǎn)在顏色表中相應(yīng)的索引值,
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 家具水濂柜供貨合同5篇
- 專業(yè)設(shè)計(jì)服務(wù)項(xiàng)目績(jī)效評(píng)估報(bào)告
- 非臨床安全性評(píng)價(jià)服務(wù)項(xiàng)目績(jī)效評(píng)估報(bào)告
- 信息化教學(xué)大賽方案設(shè)計(jì)
- 中華優(yōu)傳統(tǒng)文化 課件 第五章 中國(guó)傳統(tǒng)哲學(xué)
- 婦科疾病超聲診斷應(yīng)用與規(guī)范
- 2025西安建筑科技大學(xué)華清學(xué)院輔導(dǎo)員考試試題及答案
- 2025貴州護(hù)理職業(yè)技術(shù)學(xué)院輔導(dǎo)員考試試題及答案
- 2025石家莊信息工程職業(yè)學(xué)院輔導(dǎo)員考試試題及答案
- 衛(wèi)生院安全培訓(xùn)
- 人教版小學(xué)數(shù)學(xué)四年級(jí)下冊(cè)課件:《平均數(shù)》課件
- 棗莊事業(yè)單位統(tǒng)一招聘考試真題
- 高考語文作文:二元關(guān)系分析類思辨作文
- 《教育心理學(xué)(第3版)》全套教學(xué)課件
- 【年產(chǎn)2000噸色氨酸發(fā)酵工廠的計(jì)算與設(shè)計(jì)(附布置圖流程圖)15000字(論文)】
- 2024年倉(cāng)儲(chǔ)、物流等貨物管理員資格知識(shí)考試題庫(kù)(附含答案)
- 提高病人吸氧的依從性品管圈
- DL∕T 1917-2018 電力用戶業(yè)擴(kuò)報(bào)裝技術(shù)規(guī)范
- 邊溝施工技術(shù)交底滑模
- 向最高檢察院提起申訴書范文
- 網(wǎng)孔電流法 (1)講解
評(píng)論
0/150
提交評(píng)論