BMP圖形格式分析和圖象顯示ppt課件_第1頁(yè)
BMP圖形格式分析和圖象顯示ppt課件_第2頁(yè)
BMP圖形格式分析和圖象顯示ppt課件_第3頁(yè)
BMP圖形格式分析和圖象顯示ppt課件_第4頁(yè)
BMP圖形格式分析和圖象顯示ppt課件_第5頁(yè)
已閱讀5頁(yè),還剩36頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、本次課程安排本次課程安排v本設(shè)計(jì)的目的、內(nèi)容和基本要求v課程設(shè)計(jì)題目與設(shè)計(jì)內(nèi)容簡(jiǎn)介v基本繪圖函數(shù)介紹v模擬嵌入式實(shí)時(shí)操作系統(tǒng)簡(jiǎn)介1. 1. 本設(shè)計(jì)的目的、內(nèi)容和基本要求本設(shè)計(jì)的目的、內(nèi)容和基本要求目的本課程設(shè)計(jì)的目的是通過(guò)一個(gè)小設(shè)計(jì)實(shí)例來(lái)加深對(duì)C語(yǔ)言的理解和應(yīng)用,在完成了本次課程設(shè)計(jì)后能夠較為熟練的使用C語(yǔ)言編寫(xiě)小規(guī)模的應(yīng)用程序以實(shí)現(xiàn)特定的功能。1. 1. 本設(shè)計(jì)的目的、內(nèi)容和基本要求本設(shè)計(jì)的目的、內(nèi)容和基本要求內(nèi)容BMP圖形格式分析和顯示1. 1. 本設(shè)計(jì)的目的、內(nèi)容和基本要求本設(shè)計(jì)的目的、內(nèi)容和基本要求基本要求程序具有較強(qiáng)的可讀性,關(guān)鍵代碼必須有注釋?zhuān)蛔⒁獯a的書(shū)寫(xiě)風(fēng)格。2. BMP2.

2、BMP圖像顯示圖像顯示利用C 語(yǔ)言實(shí)現(xiàn)BMP 格式圖象文件的分析和顯示。主要內(nèi)容包括: 完成BMP 格式圖像的顯示,要求在提供的畫(huà)布上循環(huán)的顯示某一文件夾下面所有的BMP 文件(支持所有BMP格式);實(shí)現(xiàn)圖像的特效顯示(淡入淡出,百頁(yè)窗等等)。 2. BMP2. BMP圖像顯示圖像顯示2.1 計(jì)算機(jī)中的顏色2.2 BMP文件格式2.3 RLE壓縮算法簡(jiǎn)介2.1 2.1 計(jì)算機(jī)中的顏色表示計(jì)算機(jī)中的顏色表示v計(jì)算機(jī)如何表示顏色v 三基色原理(Red Green Blue),每一基色用一個(gè)字節(jié)表示;v 可以在Winsows自帶的畫(huà)圖軟件中自己配色來(lái)了解計(jì)算機(jī)中如何表示顏色。v紅色:0 xFF 0

3、x00 0 x00v白色:0 xFF 0 xFF 0 xFFv黑色:0 x00 0 x00 0 x002.1 2.1 計(jì)算機(jī)中的顏色表示計(jì)算機(jī)中的顏色表示v單色(21)v4位色(24)v8位色(28)v16位色(216)v24位色(224)v32位色(232)需要調(diào)色板需要調(diào)色板(顏色表顏色表)不需要調(diào)色板不需要調(diào)色板?2.1 2.1 計(jì)算機(jī)中的顏色表示計(jì)算機(jī)中的顏色表示v 一個(gè)2*8的圖形如何表示v (124位v 0 xff0000 0 x0000ff 0 xff0000 0 x0000ffv 0 xff0000 0 x0000ff 0 xff0000 0 x0000ffv 0 xff000

4、0 0 x0000ff 0 xff0000 0 x0000ffv 0 xff0000 0 x0000ff 0 xff0000 0 x0000ffv (216位565模式)v 0 xf800 0 x001f 0 xf800 0 x001f v 0 xf800 0 x001f 0 xf800 0 x001fv 0 xf800 0 x001f 0 xf800 0 x001fv 0 xf800 0 x001f 0 xf800 0 x001f位圖數(shù)據(jù)2.1 2.1 計(jì)算機(jī)中的顏色表示計(jì)算機(jī)中的顏色表示v 一個(gè)2*8的圖形如何表示v (31位v 建立調(diào)色板v 0:0 xff0000 1:0 x0000ff

5、v 位圖數(shù)據(jù)v 01010101 10101010 (0 x55 0 xaa)v (48位v 建立調(diào)色板v 0:0 xff0000 1:0 x0000ff . . . . 255: 0 x000000v 位圖數(shù)據(jù)v 0 x01 0 x00 0 x01 0 x00 0 x01 0 x00 0 x01 0 x00v 0 x01 0 x00 0 x01 0 x00 0 x01 0 x00 0 x01 0 x00位圖數(shù)據(jù)2.2 BMP2.2 BMP文件格式文件格式一般BMP文件可以看成4個(gè)部分組成:BMP文件頭BMP信息頭顏色表(調(diào)色板) (optional)定義BMP位圖數(shù)據(jù)2.2 BMP2.2 B

6、MP文件格式文件格式1.BMP文件頭文件信息頭字節(jié)偏移名稱(chēng)大小內(nèi)容0 x0000文件標(biāo)識(shí)2字節(jié)識(shí)別位圖的類(lèi)型,一般為“BM”0 x0002文件大小4字節(jié)文件大小(以字節(jié)為單位)0 x0006保留4字節(jié)保留,設(shè)置為00 x000a位圖數(shù)據(jù)偏移4字節(jié)從文件開(kāi)始到位圖數(shù)據(jù)開(kāi)始之間的偏移量(字節(jié)為單位)2.BMP信息頭 圖象信息頭字節(jié)偏移名稱(chēng)大小內(nèi)容0 x000e信息頭長(zhǎng)度4信息頭長(zhǎng)度0 x0012寬4位圖的寬度0 x0016高4位圖的高度0 x001a面數(shù)2位圖的面數(shù),總是10 x001c位/象素2每個(gè)象素的位數(shù) 0 x001e壓縮4壓縮說(shuō)明 0 x0022位圖數(shù)據(jù)大小4位圖數(shù)據(jù)的大小0 x0026

7、水平分辨率4水平分辨率0 x002a垂直分辨率4垂直分辨率0 x002e顏色數(shù)4位圖使用的顏色數(shù)0 x0032重要顏色4指定重要的顏色數(shù)。2.2 BMP2.2 BMP文件格式文件格式2.2 BMP2.2 BMP文件格式文件格式3.顏色表(調(diào)色板)顏色表字節(jié)偏移名稱(chēng)大小內(nèi)容根據(jù)BMP版本的不同而不同調(diào)色板N4調(diào)色板規(guī)范。對(duì)于調(diào)色板中的每個(gè)表項(xiàng),這4個(gè)字節(jié)用下述方法來(lái)描述RGB的值: 藍(lán)色分量: 1字節(jié)綠色分量: 1字節(jié)紅色分量: 1字節(jié)填充符: 1字節(jié)2.2 BMP2.2 BMP文件格式文件格式4.位圖數(shù)據(jù)圖象數(shù)據(jù)字節(jié)偏移名稱(chēng)大小內(nèi)容根據(jù)BMP版本的不同而不同位圖圖象數(shù)據(jù)不定該域的大小取決于壓縮

8、方法及圖像的尺寸和圖像的位深度,它包含所有的位圖數(shù)據(jù)字節(jié),這些數(shù)據(jù)可能是彩色調(diào)色板的索引號(hào),也可能是實(shí)際的RGB值,這將根據(jù)圖像信息頭中的位深度值來(lái)決定。2.2 BMP2.2 BMP文件格式文件格式v實(shí)例分析v 實(shí)例1基本屬性:寬:107 高:47 顏色深度:24位色文件大?。?5282圖象頭BM文件大小0 x3BB2保留字段0 x0000位圖數(shù)據(jù)開(kāi)始偏移圖象頭信息大小位圖寬度0 x6B107位圖高度0 x2F=47圖象面數(shù)顏色深度0 x182424位色壓縮方式無(wú)壓縮位圖數(shù)據(jù)大小0 x7C3B位圖數(shù)據(jù)區(qū)域2.2 BMP2.2 BMP文件格式文件格式v實(shí)例分析v 實(shí)例2基本屬性:寬:107 高:

9、47 顏色深度:8位色文件大?。?154文件標(biāo)識(shí)BM文件大小0 x180A保留字段0 x0000圖象數(shù)據(jù)開(kāi)始偏移圖象信息頭大小圖象寬度0 x6B107圖象高度0 x2F47圖象面數(shù)1位數(shù)/象素0 x88位色壓縮方式0無(wú)壓縮位圖數(shù)據(jù)大小(字節(jié))0 x13D4顏色表(調(diào)色板)區(qū)域位圖數(shù)據(jù)區(qū)域2.3 RLE2.3 RLE壓縮算法簡(jiǎn)介壓縮算法簡(jiǎn)介v為什么壓縮?v壓縮方法分類(lèi)? 考慮未壓縮的BMP文件,它們通常比同一幅圖像的經(jīng)過(guò)壓縮后的文件格式要大很多。例如,一個(gè)800600的24位幾乎占據(jù)1.4MB空間。因此它們通常不適合在網(wǎng)絡(luò)或者其他應(yīng)用場(chǎng)合。 無(wú)損壓縮, 如:RLE,Huffman等等; 有損壓縮

10、,如:DCT等等從數(shù)據(jù)冗余的角度對(duì)數(shù)據(jù)進(jìn)行壓縮,無(wú)損壓縮方法的優(yōu)點(diǎn)是能夠比較好地保持圖像的質(zhì)量,但是相對(duì)來(lái)說(shuō)這種方法的壓縮率比較低。壓縮數(shù)據(jù) 原始數(shù)據(jù)如:RAR,winzip等等文件壓縮有損壓縮利用了人類(lèi)對(duì)圖像或聲波中的某些頻率成分不敏感的特性,允許壓縮過(guò)程中損失一定的信息;雖然不能完全回復(fù)原始數(shù)據(jù),但是所損失的部分對(duì)理解原始圖像的影響縮小,卻換來(lái)了大得多的壓縮比。有損壓縮廣泛應(yīng)用于語(yǔ)音,圖像和視頻數(shù)據(jù)的壓縮 。原始數(shù)據(jù) 壓縮數(shù)據(jù)例如:mp3,jpeg,mpeg等等2.3 RLE2.3 RLE壓縮算法簡(jiǎn)介壓縮算法簡(jiǎn)介行程壓縮編碼(Run Length Encoding)BI_RLE8 每個(gè)象素

11、為8比特的RLE壓縮編碼,可使用編碼方式和絕對(duì)方式中的任何一種進(jìn)行壓縮,這兩種方式可在同一幅圖中的任何地方使用。 編碼方式 絕對(duì)方式 由2個(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)前開(kāi)始的水平和垂直位置的偏移量。 絕對(duì)方式:第一個(gè)字節(jié)設(shè)置為0,而第二個(gè)字節(jié)設(shè)置為0 x030 xFF之間的一個(gè)值。在這種方式中,第二個(gè)字節(jié)表示跟在這個(gè)字節(jié)后面的字節(jié)數(shù),每個(gè)字節(jié)包含單個(gè)象素的顏

12、色索引。 例如:如下面用16進(jìn)制表示的8-位壓縮圖象數(shù)據(jù)序列 03 04 05 06 00 03 45 56 67 00 02 78 00 02 05 01 02 78 00 00 09 1E 00 01 這些壓縮數(shù)據(jù)可解釋為 : 壓縮數(shù)據(jù)擴(kuò)展數(shù)據(jù)03 0404 04 0405 0606 06 06 06 0600 03 45 56 67 0045 56 6702 7878 7800 02 05 01從當(dāng)前位置右移5個(gè)位置后向下移一行02 7878 7800 00行結(jié)束09 1E1E 1E 1E 1E 1E 1E 1E 1E 1E00 01RLE編碼圖象結(jié)束行程壓縮編碼(Run Length

13、Encoding)BI_RLE4 每個(gè)象素為4比特的RLE壓縮編碼,同樣也可使用編碼方式和絕對(duì)方式中的任何一種進(jìn)行壓縮,這兩種方式也可在同一幅圖中的任何地方使用 。 編碼方式 絕對(duì)方式 由2個(gè)字節(jié)組成,第一個(gè)字節(jié)指定象素?cái)?shù)目,第二個(gè)字節(jié)包含兩種顏色索引,一個(gè)在高4位,另一個(gè)在低4位。第一個(gè)象素使用高4位的顏色索引,第二個(gè)使用低4位的顏色索引,第3個(gè)使用高4位的顏色索引,BI_RLE4也同樣聯(lián)合使用第二個(gè)字節(jié)中的值表示: 第二個(gè)字節(jié)的值為0:行的結(jié)束。 第二個(gè)字節(jié)的值為1:圖象結(jié)束。 第二個(gè)字節(jié)的值為2:其后的兩個(gè)字節(jié)表示下一個(gè)象素從當(dāng)前開(kāi)始的水平和垂直位置的偏移量。 這個(gè)字節(jié)對(duì)中的第一個(gè)字節(jié)設(shè)

14、置為0,第二個(gè)字節(jié)包含有顏色索引數(shù),其后續(xù)字節(jié)包含有顏色索引,顏色索引存放在該字節(jié)的高、低4位中,一個(gè)顏色索引對(duì)應(yīng)一個(gè)象素。2.3 RLE2.3 RLE壓縮算法簡(jiǎn)介壓縮算法簡(jiǎn)介2.3 RLE2.3 RLE壓縮算法簡(jiǎn)介壓縮算法簡(jiǎn)介 例如:如下面用16進(jìn)制表示的4-位壓縮圖象數(shù)據(jù)序列 03 04 05 06 00 06 45 56 67 00 04 78 00 02 05 01 04 78 00 00 09 1E 00 01 這些壓縮數(shù)據(jù)可解釋為 : 壓縮數(shù)據(jù)擴(kuò)展數(shù)據(jù)03 040 4 005 060 6 0 6 000 06 45 56 67 004 5 5 6 6 704 787 8 7 800

15、 02 05 01從當(dāng)前位置右移5個(gè)位置后向下移一行04 787 8 7 800 00行結(jié)束09 1E1 E 1 E 1 E 1 E 100 01RLE編碼圖象結(jié)束3. 3. 滾動(dòng)字幕的實(shí)現(xiàn)滾動(dòng)字幕的實(shí)現(xiàn)主要內(nèi)容包括:1. 熟悉點(diǎn)陣字庫(kù)的存取規(guī)則;2. 讀取文件的輸入信息,包括滾動(dòng)方式,顯示位置、尺寸以及內(nèi)容等;3.利用C語(yǔ)言實(shí)現(xiàn)在指定位置滾動(dòng)顯示文件中的內(nèi)容。3. 3. 滾動(dòng)字幕的實(shí)現(xiàn)滾動(dòng)字幕的實(shí)現(xiàn)v 點(diǎn)陣字庫(kù)簡(jiǎn)介v 區(qū)位碼v GB2312字符集構(gòu)成一個(gè)94行、94列的表,行號(hào)稱(chēng)為區(qū)號(hào),列號(hào)稱(chēng)為位號(hào),每一個(gè)漢字用它所在的區(qū)號(hào)和位號(hào)來(lái)表示;v 機(jī)內(nèi)碼v 一個(gè)漢字字符由兩個(gè)字節(jié)的機(jī)內(nèi)碼表示,分別

16、稱(chēng)為高字節(jié)內(nèi)碼和低字節(jié)內(nèi)碼。它們和區(qū)位碼的聯(lián)系在于:v 區(qū)碼高字節(jié)內(nèi)碼0 xa0,位碼低字節(jié)內(nèi)碼0 xa0。v 如:漢字 “升”,機(jī)內(nèi)碼為 0 xc9fdv 區(qū)碼=0 xc9-0 xa0=0 x29 位碼=0 xfd-0 xa0=0 x5d3. 3. 滾動(dòng)字幕的實(shí)現(xiàn)滾動(dòng)字幕的實(shí)現(xiàn)v漢字點(diǎn)陣字庫(kù)存放方式v 從第1區(qū)15區(qū) 符號(hào)v 從第16區(qū)55區(qū) 一級(jí)漢字v 從第56區(qū)87區(qū) 二級(jí)漢字v字模在字庫(kù)中按照區(qū)位碼從小到大排列v每字符占字庫(kù)大小由點(diǎn)陣大小決定,如1616點(diǎn)陣的字庫(kù),每個(gè)字符占32字節(jié)v 2424點(diǎn)陣的字庫(kù),每個(gè)字符占72字節(jié)4. 4. 基本繪圖函數(shù)介紹基本繪圖函數(shù)介紹1.GFMDraw

17、Pixel();2.GFMDrawLine();3.GFMDrawRectangle();4.GFMDrawCircle();5.GFMReadRectangle();6.GFMWriteRectangl();4. 4. 基本繪圖函數(shù)介紹基本繪圖函數(shù)介紹1.GFM_DrawPixel(INT32U whichColor, INT32U x, INT32U y, INT32U pixelCount)(15,10)GFM_DrawPixel( 0 xFFFF0000, 15, 10, 1);(12,35)GFM_DrawPixel( 0 xFFFF0000, 12, 35, 4);4. 4. 基本

18、繪圖函數(shù)介紹基本繪圖函數(shù)介紹2.GFMDrawLine(INT32U startX,INT32U startY,INT32U endX, INT32U endY,INT32U Color);GFM_DrawLine( 0,26,16,26,0 xFFFF0000);GFM_DrawLine( 12,2,2,12,0 xFFFF0000, );(12,2)(2,12)(16,26)(0,26)4. 4. 基本繪圖函數(shù)介紹基本繪圖函數(shù)介紹3.GFMDrawRectangle(INT32U x,INT32U y,INT32U width,INT32U height, INT32U color, BO

19、OL fill);(26,10)GFM_DrawRectangle(2,2,25,9,0 xFFFF0000,0); GFM_DrawRectangle(2,2,25,9,0 xFFFF0000,1); (2,2)4. 4. 基本繪圖函數(shù)介紹基本繪圖函數(shù)介紹4.GFMDrawCircle(INT32U xCentre,INT32U yCentre,INT32U r,INT32U color,BOOL fill );GFM_DrawCircle(20,15,10,0 xFFFF0000,0 );r=10(20,15)GFM_DrawCircle(20,15,10,0 xFFFF0000,1 );

20、4. 4. 基本繪圖函數(shù)介紹基本繪圖函數(shù)介紹5.GFMReadRectangle(INT32U x,INT32U y,INT32U width,INT32U height, INT8U *dest);(x,y)widthheight4. 4. 基本繪圖函數(shù)介紹基本繪圖函數(shù)介紹6.GFMWriteRectangl(INT32U x,INT32U y,OSD_RECT rect,UINT8 *source, INT32U width,INT32U height);提示消息5. 5. 實(shí)時(shí)操作系統(tǒng)簡(jiǎn)介實(shí)時(shí)操作系統(tǒng)簡(jiǎn)介v單任務(wù)和多任務(wù)(task)v消息和消息隊(duì)列(message, queue)v信號(hào)量

21、(semaphore)5. 5. 實(shí)時(shí)操作系統(tǒng)簡(jiǎn)介實(shí)時(shí)操作系統(tǒng)簡(jiǎn)介v任務(wù)(task)v基本函數(shù)調(diào)用v UINT32 DTOS_DRV_CreateTask( v void (*task)(void),v INT32U priority,v INT32U stackSize,v INT8S Name);v void DTOS_DRV_DelayTask( INT16 ms);5. 5. 實(shí)時(shí)操作系統(tǒng)簡(jiǎn)介實(shí)時(shí)操作系統(tǒng)簡(jiǎn)介v 消息和隊(duì)列(message/queue)v 基本函數(shù)調(diào)用v UINT32 DTOS_DRV_CreatQueue( vINT32U QueueSize );v INT32S DTOS_DRV_

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
  • 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ì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論