![BMP文件解碼代碼_第1頁(yè)](http://file2.renrendoc.com/fileroot_temp3/2021-11/27/aa26bf6c-f024-45b8-81e5-bb4b524cae6f/aa26bf6c-f024-45b8-81e5-bb4b524cae6f1.gif)
![BMP文件解碼代碼_第2頁(yè)](http://file2.renrendoc.com/fileroot_temp3/2021-11/27/aa26bf6c-f024-45b8-81e5-bb4b524cae6f/aa26bf6c-f024-45b8-81e5-bb4b524cae6f2.gif)
![BMP文件解碼代碼_第3頁(yè)](http://file2.renrendoc.com/fileroot_temp3/2021-11/27/aa26bf6c-f024-45b8-81e5-bb4b524cae6f/aa26bf6c-f024-45b8-81e5-bb4b524cae6f3.gif)
![BMP文件解碼代碼_第4頁(yè)](http://file2.renrendoc.com/fileroot_temp3/2021-11/27/aa26bf6c-f024-45b8-81e5-bb4b524cae6f/aa26bf6c-f024-45b8-81e5-bb4b524cae6f4.gif)
![BMP文件解碼代碼_第5頁(yè)](http://file2.renrendoc.com/fileroot_temp3/2021-11/27/aa26bf6c-f024-45b8-81e5-bb4b524cae6f/aa26bf6c-f024-45b8-81e5-bb4b524cae6f5.gif)
版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、bmp 是英文 bitmap (位圖)的簡(jiǎn)寫(xiě),它是windows 操作系統(tǒng)中的標(biāo)準(zhǔn)圖像文件格式,能夠被多種windows 應(yīng)用程序所支持。隨著 windows 操作系統(tǒng)的流行與豐富的windows 應(yīng)用程序的開(kāi)發(fā),bmp 位圖格式理所當(dāng)然地被廣泛應(yīng)用。這種格式的特點(diǎn)是包含的圖像信息較豐富,幾乎不進(jìn)行壓縮,但由此導(dǎo)致了它與生俱生來(lái)的缺點(diǎn)-占用磁盤(pán)空間過(guò)大。所以,目前bmp 在單機(jī)上比較流行。bmp(bitmap-file)圖形文件是 windows 采用的圖形文件格式, 在 windows 環(huán)境下運(yùn)行的所有圖象處理軟件都支持bmp圖象文件格式。 windows系統(tǒng)內(nèi)部各圖像繪制操作都是以bmp
2、為基礎(chǔ)的。 windows 3.0以前的 bmp 圖文件格式與顯示設(shè)備有關(guān), 因此把這種bmp 圖象文件格式稱為設(shè)備相關(guān)位圖ddb(device-dependent bitmap)文件格式。 windows 3.0以后的bmp 圖象文件與顯示設(shè)備無(wú)關(guān),因此把這種bmp 圖象文件格式稱為設(shè)備無(wú)關(guān)位圖dib(device-independent bitmap) 格式(注: windows 3.0以后,在系統(tǒng)中仍然存在ddb 位圖,象 bitblt() 這種函數(shù)就是基于ddb 位圖的,只不過(guò)如果你想將圖像以 bmp 格式保存到磁盤(pán)文件中時(shí),微軟極力推薦你以dib 格式保存),目的是為了讓window
3、s 能夠在任何類(lèi)型的顯示設(shè)備上顯示所存儲(chǔ)的圖象。bmp 位圖文件默認(rèn)的文件擴(kuò)展名是bmp 或者 bmp (有時(shí)它也會(huì)以 .dib 或.rle 作擴(kuò)展名)。位圖文件可看成由4 個(gè)部分組成:位圖文件頭(bitmap-file header) 、位圖信息頭 (bitmap-information header) 、彩色表(color table) 和定義位圖的字節(jié)陣列,它具有如下所示的形式。位圖文件的組成結(jié)構(gòu)名稱符號(hào)位圖文件頭 (bitmap-file header) bitmapfileheader bmfh 位圖信息頭 (bitmap-information header) bitmapinfo
4、header bmih 彩色表 (color table) rgbquad acolors 圖象數(shù)據(jù)陣列字節(jié)byte abitmapbits 位圖文件結(jié)構(gòu)可綜合在表6-01 中。表 01 位圖文件結(jié)構(gòu)內(nèi)容摘要偏移量域的名稱大小內(nèi)容圖象文件頭0000h 文件標(biāo)識(shí)2 bytes 兩字節(jié)的內(nèi)容用來(lái)識(shí)別位圖的類(lèi)型:,bm? : windows 3.1x, 95, nt, ,ba? :os/2 bitmap array ,ci? :os/2 color icon ,cp? :os/2 color pointer ,ic? : os/2 icon ,pt? :os/2 pointer 注:因?yàn)?os/2
5、系統(tǒng)并沒(méi)有被普及開(kāi),所以在編程時(shí),你只需判斷第一個(gè)標(biāo)識(shí)“bm ” 就行。0002h file size 1 dword 用字節(jié)表示的整個(gè)文件的大小0006h reserved 1 dword 保留,必須設(shè)置為0 000ah bitmap data offset 1 dword 從文件開(kāi)始到位圖數(shù)據(jù)開(kāi)始之間的數(shù)據(jù)(bitmap data) 之間的偏移量000eh bitmap header size 1 dword 位圖信息頭 (bitmap info header)的長(zhǎng)度,用來(lái)描述位圖的顏色、壓縮方法等。下面的長(zhǎng)度表示:28h - windows 3.1x, 95, nt, 0ch - os/
6、2 1.x f0h - os/2 2.x 注:在 windows95 、98、2000 等操作系統(tǒng)中,位圖信息頭的長(zhǎng)度并不一定是28h ,因?yàn)槲④浺呀?jīng)制定出了新的bmp文件格式,其中的信息頭結(jié)構(gòu)變化比較大,長(zhǎng)度加長(zhǎng)。所以最好不要直接使用常數(shù)28h ,而是應(yīng)該從具體的文件中讀取這個(gè)值。這樣才能確保程序的兼容性。0012h width 1 dword 位圖的寬度,以象素為單位0016h height 1 dword 位圖的高度,以象素為單位001ah planes 1 word 位圖的位面數(shù)(注:該值將總是1)圖象信息頭001ch bits per pixel 1 word 每個(gè)象素的位數(shù)1 -
7、單色位圖(實(shí)際上可有兩種顏色,缺省情況下是黑色和白色。你可以自己定義這兩種顏色)4 - 16 色位圖8 - 256 色位圖16 - 16bit 高彩色位圖24 - 24bit 真彩色位圖32 - 32bit 增強(qiáng)型真彩色位圖001eh compression 1 dword 壓縮說(shuō)明:0 - 不壓縮(使用 bi_rgb 表示 ) 1 - rle 8- 使用 8 位 rle 壓縮方式 (用 bi_rle8 表示 ) 2 - rle 4- 使用 4 位 rle 壓縮方式 (用 bi_rle4 表示 ) 3 - bitfields- 位域存放方式 (用 bi_bitfields表示 ) 0022h
8、bitmap data size 1 dword 用字節(jié)數(shù)表示的位圖數(shù)據(jù)的大小。該數(shù)必須是4 的倍數(shù)0026h hresolution 1 dword 用象素 /米表示的水平分辨率002ah vresolution 1 dword 用象素 /米表示的垂直分辨率002eh colors 1 dword 位圖使用的顏色數(shù)。如8-比特 /象素表示為100h 或者 256. 0032h important colors 1 dword 指定重要的顏色數(shù)。當(dāng)該域的值等于顏色數(shù)時(shí)(或者等于0 時(shí)) ,表示所有顏色都一樣重要調(diào)色板數(shù)據(jù)根據(jù) bmp 版本的不同而不同palette n * 4 byte 調(diào)色板
9、規(guī)范。 對(duì)于調(diào)色板中的每個(gè)表項(xiàng),這 4 個(gè)字節(jié)用下述方法來(lái)描述rgb 的值:1 字節(jié)用于藍(lán)色分量1 字節(jié)用于綠色分量1 字節(jié)用于紅色分量1 字節(jié)用于填充符(設(shè)置為 0) 圖象數(shù)據(jù)根據(jù) bmp 版本及調(diào)色板尺寸的不同而不同bitmap data xxx bytes 該域的大小取決于壓縮方法及圖像的尺寸和圖像的位深度,它包含所有的位圖數(shù)據(jù)字節(jié),這些數(shù)據(jù)可能是彩色調(diào)色板的索引號(hào),也可能是實(shí)際的rgb 值,這將根據(jù)圖像信息頭中的位深度值來(lái)決定。構(gòu)件詳解1. 位圖文件頭位圖文件頭包含有關(guān)于文件類(lèi)型、文件大小、存放位置等信息,在windows 3.0以上版本的位圖文件中用bitmapfileheader結(jié)
10、構(gòu)來(lái)定義:typedef struct tagbitmapfileheader /* bmfh */ uint bftype; dword bfsize; uint bfreserved1; uint bfreserved2; dword bfoffbits; bitmapfileheader; 其中:bftype 說(shuō)明文件的類(lèi)型.(該值必需是0 x4d42 ,也就是字符 bm 。我們不需要判斷os/2 的位圖標(biāo)識(shí),這么做現(xiàn)在來(lái)看似乎已經(jīng)沒(méi)有什么意義了,而且如果要支持os/2 的位圖,程序?qū)⒆兊煤芊爆?。所以,在此只建議你檢察bm標(biāo)識(shí))bfsize 說(shuō)明文件的大小,用字節(jié)為單位bfreserve
11、d1 保留,必須設(shè)置為0 bfreserved2 保留,必須設(shè)置為0 bfoffbits 說(shuō)明從文件頭開(kāi)始到實(shí)際的圖象數(shù)據(jù)之間的字節(jié)的偏移量。這個(gè)參數(shù)是非常有用的,因?yàn)槲粓D信息頭和調(diào)色板的長(zhǎng)度會(huì)根據(jù)不同情況而變化,所以你可以用這個(gè)偏移值迅速的從文件中讀取到位數(shù)據(jù)。2. 位圖信息頭位圖信息用bitmapinfo結(jié)構(gòu)來(lái)定義,它由位圖信息頭(bitmap-information header) 和彩色表 (color table)組成,前者用 bitmapinfoheader結(jié)構(gòu)定義,后者用rgbquad結(jié)構(gòu)定義。 bitmapinfo結(jié)構(gòu)具有如下形式:typedef struct tagbitma
12、pinfo /* bmi */ bitmapinfoheader bmiheader; rgbquad bmicolors1; bitmapinfo; 其中:bmiheader 說(shuō)明 bitmapinfoheader結(jié)構(gòu),其中包含了有關(guān)位圖的尺寸及位格式等信息bmicolors 說(shuō)明彩色表rgbquad 結(jié)構(gòu)的陣列,其中包含索引圖像的真實(shí)rgb 值。bitmapinfoheader結(jié)構(gòu)包含有位圖文件的大小、壓縮類(lèi)型和顏色格式,其結(jié)構(gòu)定義為:typedef struct tagbitmapinfoheader /* bmih */ dword bisize; long biwidth; long
13、 biheight; word biplanes; word bibitcount; dword bicompression; dword bisizeimage; long bixpelspermeter; long biypelspermeter; dword biclrused; dword biclrimportant; bitmapinfoheader; 其中:bisize 說(shuō)明 bitmapinfoheader結(jié)構(gòu)所需要的字?jǐn)?shù)。注:這個(gè)值并不一定是bitmapinfoheader結(jié)構(gòu)的尺寸,它也可能是 sizeof(bitmapv4header)的值,或是sizeof(bitmap
14、v5header)的值。這要根據(jù)該位圖文件的格式版本來(lái)決定,不過(guò),就現(xiàn)在的情況來(lái)看,絕大多數(shù)的bmp 圖像都是 bitmapinfoheader結(jié)構(gòu)的(可能是后兩者太新的緣故吧:-) 。biwidth 說(shuō)明圖象的寬度,以象素為單位biheight 說(shuō)明圖象的高度,以象素為單位。注:這個(gè)值除了用于描述圖像的高度之外,它還有另一個(gè)用處,就是指明該圖像是倒向的位圖,還是正向的位圖。如果該值是一個(gè)正數(shù),說(shuō)明圖像是倒向的,如果該值是一個(gè)負(fù)數(shù),則說(shuō)明圖像是正向的。大多數(shù)的 bmp 文件都是倒向的位圖,也就是時(shí),高度值是一個(gè)正數(shù)。(注:當(dāng)高度值是一個(gè)負(fù)數(shù)時(shí)(正向圖像),圖像將不能被壓縮(也就是說(shuō)bicomp
15、ression成員將不能是bi_rle8 或 bi_rle4 ) 。biplanes 為目標(biāo)設(shè)備說(shuō)明位面數(shù),其值將總是被設(shè)為1 bibitcount 說(shuō)明比特?cái)?shù) /象素,其值為1、4、8、16、24、或 32 bicompression 說(shuō)明圖象數(shù)據(jù)壓縮的類(lèi)型。其值可以是下述值之一:bi_rgb :沒(méi)有壓縮;bi_rle8 :每個(gè)象素 8 比特的 rle 壓縮編碼,壓縮格式由2 字節(jié)組成 (重復(fù)象素計(jì)數(shù)和顏色索引);bi_rle4 :每個(gè)象素 4 比特的 rle 壓縮編碼,壓縮格式由2 字節(jié)組成bi_bitfields :每個(gè)象素的比特由指定的掩碼決定。bisizeimage 說(shuō)明圖象的大小,
16、以字節(jié)為單位。當(dāng)用bi_rgb 格式時(shí),可設(shè)置為0 bixpelspermeter 說(shuō)明水平分辨率,用象素/米表示biypelspermeter 說(shuō)明垂直分辨率,用象素/米表示biclrused 說(shuō)明位圖實(shí)際使用的彩色表中的顏色索引數(shù)(設(shè)為0 的話,則說(shuō)明使用所有調(diào)色板項(xiàng))biclrimportant 說(shuō)明對(duì)圖象顯示有重要影響的顏色索引的數(shù)目,如果是0,表示都重要。現(xiàn)就 bitmapinfoheader結(jié)構(gòu)作如下說(shuō)明:(1) 彩色表的定位應(yīng)用程序可使用存儲(chǔ)在bisize 成員中的信息來(lái)查找在bitmapinfo結(jié)構(gòu)中的彩色表,如下所示:pcolor = (lpstr) pbitmapinfo
17、+ (word) (pbitmapinfo-bmiheader.bisize) (2) bibitcount bibitcount=1 表示位圖最多有兩種顏色,缺省情況下是黑色和白色,你也可以自己定義這兩種顏色。圖像信息頭裝調(diào)色板中將有兩個(gè)調(diào)色板項(xiàng),稱為索引0 和索引 1。圖象數(shù)據(jù)陣列中的每一位表示一個(gè)象素。如果一個(gè)位是0,顯示時(shí)就使用索引 0 的 rgb 值,如果位是1,則使用索引1 的 rgb 值。bibitcount=4 表示位圖最多有16 種顏色。每個(gè)象素用4 位表示,并用這4 位作為彩色表的表項(xiàng)來(lái)查找該象素的顏色。例如,如果位圖中的第一個(gè)字節(jié)為0 x1f ,它表示有兩個(gè)象素,第一象素
18、的顏色就在彩色表的第2 表項(xiàng)中查找,而第二個(gè)象素的顏色就在彩色表的第16 表項(xiàng)中查找。此時(shí),調(diào)色板中缺省情況下會(huì)有16 個(gè) rgb 項(xiàng)。對(duì)應(yīng)于索引0 到索引 15。bibitcount=8 表示位圖最多有256 種顏色。 每個(gè)象素用 8 位表示, 并用這 8 位作為彩色表的表項(xiàng)來(lái)查找該象素的顏色。例如,如果位圖中的第一個(gè)字節(jié)為0 x1f ,這個(gè)象素的顏色就在彩色表的第32 表項(xiàng)中查找。此時(shí),缺省情況下,調(diào)色板中會(huì)有 256 個(gè) rgb 項(xiàng),對(duì)應(yīng)于索引0 到索引 255 。bibitcount=16 表示位圖最多有216 種顏色。每個(gè)色素用16 位( 2 個(gè)字節(jié))表示。這種格式叫作高彩色,或叫增
19、強(qiáng)型16 位色,或 64k 色。它的情況比較復(fù)雜,當(dāng)bicompression成員的值是bi_rgb 時(shí),它沒(méi)有調(diào)色板。16 位中,最低的5位表示藍(lán)色分量,中間的5 位表示綠色分量,高的5 位表示紅色分量,一共占用了15 位,最高的一位保留,設(shè)為0。這種格式也被稱作555 16 位位圖。如果bicompression成員的值是bi_bitfields ,那么情況就復(fù)雜了,首先是原來(lái)調(diào)色板的位置被三個(gè)dword 變量占據(jù), 稱為紅、綠、藍(lán)掩碼。 分別用于描述紅、 綠、藍(lán)分量在 16 位中所占的位置。 在 windows 95(或 98)中,系統(tǒng)可接受兩種格式的位域:555 和 565,在 555
20、 格式下,紅、綠、藍(lán)的掩碼分別是:0 x7c00 、0 x03e0 、0 x001f ,而在 565 格式下,它們則分別為:0 xf800 、0 x07e0 、0 x001f 。你在讀取一個(gè)像素之后,可以分別用掩碼“ 與” 上像素值,從而提取出想要的顏色分量(當(dāng)然還要再經(jīng)過(guò)適當(dāng)?shù)淖笥乙撇僮鳎?。?nt 系統(tǒng)中,則沒(méi)有格式限制,只不過(guò)要求掩碼之間不能有重疊。 (注:這種格式的圖像使用起來(lái)是比較麻煩的,不過(guò)因?yàn)樗娘@示效果接近于真彩,而圖像數(shù)據(jù)又比真彩圖像小的多,所以,它更多的被用于游戲軟件)。bibitcount=24 表示位圖最多有224 種顏色。這種位圖沒(méi)有調(diào)色板(bmicolors成員尺寸
21、為0) ,在位數(shù)組中,每3 個(gè)字節(jié)代表一個(gè)象素,分別對(duì)應(yīng)于顏色r、g、b。bibitcount=32 表示位圖最多有232 種顏色。這種位圖的結(jié)構(gòu)與16 位位圖結(jié)構(gòu)非常類(lèi)似,當(dāng)bicompression成員的值是 bi_rgb 時(shí),它也沒(méi)有調(diào)色板,32 位中有 24 位用于存放rgb 值,順序是:最高位保留,紅 8 位、綠 8 位、藍(lán) 8 位。這種格式也被成為888 32 位圖。如果 bicompression成員的值是bi_bitfields時(shí),原來(lái)調(diào)色板的位置將被三個(gè)dword變量占據(jù),成為紅、綠、藍(lán)掩碼,分別用于描述紅、綠、藍(lán)分量在32 位中所占的位置。在windows 95(or 98
22、)中,系統(tǒng)只接受 888 格式,也就是說(shuō)三個(gè)掩碼的值將只能是:0 xff0000 、0 xff00 、0 xff 。而在 nt 系統(tǒng)中,你只要注意使掩碼之間不產(chǎn)生重疊就行。 (注:這種圖像格式比較規(guī)整,因?yàn)樗莇word 對(duì)齊的,所以在內(nèi)存中進(jìn)行圖像處理時(shí)可進(jìn)行匯編級(jí)的代碼優(yōu)化(簡(jiǎn)單) ) 。bmp 解碼 : #pragma pack (1) typedef struct tagbitmapfileheader _packed u16 bftype; _packed du16 bfsize; _packed u16 bfreserved1; _packed u16 bfreserved2; _
23、packed du16 bfoffbits; bitmapfileheader; #pragma pack () #pragma pack (1) typedef struct tagbitmapinfoheader _packed du16 bisize; _packed long biwidth; _packed long biheight; _packed u16 biplanes; _packed u16 bibitcount; _packed du16 bicompression; _packed du16 bisizeimage; _packed long bixpelsperme
24、ter; _packed long biypelspermeter; _packed du16 biclrused; _packed du16 biclrimportant; bitmapinfoheader; #pragma pack () typedef struct tagrgbquad _packed u8 rgbblue; _packed u8 rgbgreen; _packed u8 rgbred; _packed u8 rgbreserved; rgbquad; void bmpcopy(u8 *target,int source,int length) while (lengt
25、h-) *(target+) = *(volatile u8 *)source+; u8 readbmp(int source,int target, int logowidth, int logoheight) du16 curpos; bitmapfileheader bf; bitmapinfoheader bi; rgbquad quad256; unsigned char c; du16 lpbuf ,pos,rowbuf,row_scr,pos_scr; int width,height,left,top,bmpwidth; int numquad = 0; int i,j, sc
26、reenwidth, screenheight; screenwidth=logowidth; screenheight=logoheight; uartprintf(read bmpnr); #define data(n) (*(volatile u8 *)(n) curpos = source; bmpcopy(u8 *)&bf,curpos,sizeof(bitmapfileheader); if (bf.bftype != 0 x4d42) uartprintf(not a bmp file nr); return false; uartprintf(bftype=%xnr,b
27、f.bftype); uartprintf(bfsize=%xnr,bf.bfsize); uartprintf(bfreserved1=%xnr,bf.bfreserved1); uartprintf(bfreserved2=%xnr,bf.bfreserved2); uartprintf(bfoffbits=%xnr,bf.bfoffbits); curpos += sizeof(bitmapfileheader); bmpcopy(u8 *)&bi,curpos,sizeof(bitmapinfoheader); curpos += sizeof(bitmapinfoheader
28、); if (bi.bibitcount 16) numquad = (1 = screenwidth) width = screenwidth; left = 0; else left = (screenwidth - bi.biwidth) / 2; width = bi.biwidth; if (bi.biheight = screenheight) height = screenheight; top = 0; else top = (screenheight - bi.biheight)/2; height = bi.biheight; uartprintf(show bmp wid
29、th = %d heigh = %d count = %d left = %d top = %d,curpos = %xnr, width,height,bi.bibitcount,left,top,lpbuf); if (bi.bibitcount 16) rowbuf = lpbuf; row_scr = (target + (top+height) * screenwidth +left) * 2) ; bmpwidth = (bi.biwidth+3)/4 *4; for (i = 0;iheight ;i+) pos = rowbuf; row_scr -= screenwidth
30、* 2; pos_scr = row_scr; for (j=0;j 5); data(pos_scr+0) = quadc.rgbblue 3; data(pos_scr+0) |= (quadc.rgbgreen 3)& 0 xe0; pos +; pos_scr +=2; rowbuf += bmpwidth; else if (bi.bibitcount = 16) rowbuf = lpbuf; row_scr = (target + (top+height) * screenwidth +left) * 2) ; bmpwidth = bi.biwidth*2; for (
31、i = 0;iheight;i+) pos = rowbuf; row_scr -= screenwidth * 2; pos_scr = row_scr; for (j = 0;jwidth;j+) #if 1 c = data(pos+1); data(pos_scr+1) = (c7); c = data(pos+0); data(pos_scr+0) = (c & 0 xe0)1) ; c = data(pos+0); data(pos_scr+0) |= (c & 0 x1f) ; #else data(pos_scr+1) = data(pos+1) ; data(
32、pos_scr+0) = data(pos+0) ; #endif pos += 2; pos_scr += 2; rowbuf += bmpwidth; else if (bi.bibitcount = 24) rowbuf = lpbuf; row_scr = (target + (top+height) * screenwidth +left) * 2) ; uartprintf(target = %x row_scr = %xnr,target,row_scr); bmpwidth = (bi.biwidth*3)+3)/4 *4; for (i = 0;iheight;i+) pos
33、 = rowbuf; row_scr -= screenwidth * 2; pos_scr = row_scr; for (j = 0;j 5); data(pos_scr+0) = (data(pos+0) 3); data(pos_scr+0) |= (c 3)& 0 xe0); pos += 3; pos_scr += 2; rowbuf += bmpwidth; else if (bi.bibitcount = 32) rowbuf = lpbuf; row_scr = (target + (top+height) * screenwidth +left) * 2) ; bm
34、pwidth = bi.biwidth * 4; for (i = 0;iheight;i+) pos = rowbuf; row_scr -= screenwidth * 2; pos_scr = row_scr; for (j=0;j 5); data(pos_scr+0) = (data(pos+0) 3); data(pos_scr+0) |= (c 3)& 0 xe0); pos += 4; pos_scr += 2; rowbuf += bmpwidth; else uartprintf(bmp file error nr); return false; uartprint
35、f(bmp file ok nr); return true; bmp 編碼 : bool writebmpfile(tchar* bmpfilename, byte *prgbbuf, int ibitcount) long rgb_size = m_nwidth * m_nheight * 3; if(ibitcount = 24) file *fp; dword count=0; bitmapfileheader bmpheader; bitmapinfo bmpinfo; if( (fp = _wfopen(bmpfilename, lwb) = null ) / printf( can not create bmp file: %sn, bm
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝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ù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025至2031年中國(guó)斑馬條導(dǎo)電黑粒行業(yè)投資前景及策略咨詢研究報(bào)告
- 核能發(fā)電成本降低-第1篇-深度研究
- 新能源摩托車(chē)技術(shù)探究-深度研究
- 2025年地球地理自然科學(xué)知識(shí)競(jìng)賽題庫(kù)及答案(共360題)
- 二零二五年度地磅租賃與智能停車(chē)場(chǎng)運(yùn)營(yíng)合同
- 2025年度光伏路燈系統(tǒng)維護(hù)與能源管理合同
- 2025年度蛋糕店供應(yīng)鏈金融解決方案合同
- 二零二五年度荒山承包權(quán)轉(zhuǎn)讓及景觀設(shè)計(jì)合同
- 2025年二零二五餐飲企業(yè)廚師長(zhǎng)招聘與培訓(xùn)合同
- 二零二五年度個(gè)人租房租賃合同終止與清算協(xié)議
- 計(jì)算機(jī)二級(jí)wps office公共基礎(chǔ)考試題庫(kù)(100題)
- 三年級(jí)上冊(cè)豎式計(jì)算練習(xí)300題及答案
- 點(diǎn)亮生命-大學(xué)生職業(yè)生涯發(fā)展與就業(yè)指導(dǎo)全套教學(xué)課件
- 旅居管家策劃方案
- 車(chē)間消防安全知識(shí)培訓(xùn)課件
- 華為經(jīng)營(yíng)管理-華為的研發(fā)管理(6版)
- 鋰離子電池生產(chǎn)工藝流程圖
- 平衡計(jì)分卡-化戰(zhàn)略為行動(dòng)
- 幼兒園小班下學(xué)期期末家長(zhǎng)會(huì)PPT模板
- 礦山安全培訓(xùn)課件-地下礦山開(kāi)采安全技術(shù)
- 《社會(huì)主義市場(chǎng)經(jīng)濟(jì)理論(第三版)》第七章社會(huì)主義市場(chǎng)經(jīng)濟(jì)規(guī)則論
評(píng)論
0/150
提交評(píng)論