版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、1Lesson0708圖形設(shè)備接口圖形設(shè)備接口Windows系統(tǒng)具有豐富的圖形界面。Windows系統(tǒng)提供許多函數(shù)來(lái)實(shí)現(xiàn)繪圖的要求。而圖形設(shè)備接口(圖形設(shè)備接口(GraphicsDeviceInterface,簡(jiǎn)寫(xiě)為,簡(jiǎn)寫(xiě)為GDI)就可看作是這些函數(shù)的集合。GDI表示的是一個(gè)抽象的接口。通過(guò)該接口可以實(shí)現(xiàn)對(duì)圖形的顏色、線條的粗細(xì)等屬性的控制(甚至包括輸出文字在內(nèi))。應(yīng)用程序可以通過(guò)調(diào)用這些GDI函數(shù)和硬件打交道,而不必知道到底是哪個(gè)廠家
2、生產(chǎn)的硬件,從而實(shí)現(xiàn)了設(shè)備無(wú)關(guān)性設(shè)備無(wú)關(guān)性。Windows系統(tǒng)本身也使用GDI來(lái)繪制用戶界面的各個(gè)部分。一、設(shè)備環(huán)境一、設(shè)備環(huán)境1設(shè)備環(huán)境設(shè)備環(huán)境Windows默認(rèn)使用客戶區(qū)坐標(biāo)系客戶區(qū)坐標(biāo)系,其原點(diǎn)在窗口客戶區(qū)的左上角,X軸的正方向指向右邊,Y軸的正方向指向下邊。當(dāng)應(yīng)用程序并沒(méi)有設(shè)置顏色、字體等時(shí),系統(tǒng)使用默認(rèn)的設(shè)置。這些默認(rèn)的設(shè)置保存在設(shè)備環(huán)境中。如果沒(méi)有設(shè)備環(huán)境,則每輸出一個(gè)字符串(調(diào)用一次TextOut函數(shù)),就需要把字體和顏色
3、也作為參數(shù)傳遞給TextOut函數(shù),而且這樣的參數(shù)有很多。為了避免這樣的麻煩,Windows就把這些可能會(huì)重復(fù)的參數(shù)放在了設(shè)備環(huán)境中,這樣每次只需要多傳入一個(gè)設(shè)備環(huán)境的指針就可以了,大大減少了重復(fù)工作。設(shè)備環(huán)境(設(shè)備環(huán)境(DeviceContext,縮寫(xiě)為,縮寫(xiě)為DC,有時(shí)譯為設(shè)備上下文,也稱設(shè)備描述表)是,有時(shí)譯為設(shè)備上下文,也稱設(shè)備描述表)是一種包含各種繪圖屬性(如字體、顏色等等)和方法(即各種繪圖函數(shù))的數(shù)據(jù)結(jié)構(gòu)(或一種包含各種繪
4、圖屬性(如字體、顏色等等)和方法(即各種繪圖函數(shù))的數(shù)據(jù)結(jié)構(gòu)(或者集合)者集合)。它不僅可以繪制各種圖形,而且還可以確定在應(yīng)用窗口中繪制圖形的方式,即它不僅可以繪制各種圖形,而且還可以確定在應(yīng)用窗口中繪制圖形的方式,即確定繪圖混和模式和映射模式確定繪圖混和模式和映射模式。用戶在繪圖之前,必須獲取繪圖窗口區(qū)域的一個(gè)設(shè)備環(huán)境DC,才能進(jìn)行GDI函數(shù)的調(diào)用,執(zhí)行適合于設(shè)備環(huán)境DC的命令(就像OnDraw函數(shù)中的pDC指針)。DC中除了提供繪圖
5、的函數(shù)(如:TextOut)以外,還會(huì)提供給用戶改變繪圖屬性的函數(shù),如顏色。Windows的設(shè)備環(huán)境是的設(shè)備環(huán)境是GDI的關(guān)鍵元素,它代表了不同的物理設(shè)備的關(guān)鍵元素,它代表了不同的物理設(shè)備。分為分為4種類型:顯示型、打印機(jī)型、內(nèi)存型和信息型類型:顯示型、打印機(jī)型、內(nèi)存型和信息型。每種類型的設(shè)備環(huán)境都有各自的特定用途,見(jiàn)下表:設(shè)備環(huán)境的類型和用途設(shè)備環(huán)境設(shè)備環(huán)境用途用途顯示器型支持視頻顯示器上的繪圖操作打印機(jī)型支持打印機(jī)和繪圖儀上的繪圖操
6、作內(nèi)存型支持位圖上的繪圖操作信息型支持設(shè)備數(shù)據(jù)的訪問(wèn)2MFC中的設(shè)備環(huán)境類中的設(shè)備環(huán)境類在MFC類庫(kù)中,設(shè)備環(huán)境被CDC類封裝了起來(lái),而CDC類下面又有4個(gè)派生類,各有特點(diǎn),并可以完成不同的功能,如下所示:CMetaFileDC專門用于Windows圖元文件,剩下的三種DC類之間存在差別:3WindowsWindows的顏色數(shù)據(jù)類型的顏色數(shù)據(jù)類型COLREFCOLREF(格式為(格式為0x00bbggrr0x00bbggrr),三個(gè)分量
7、分別表示紅、綠、藍(lán)顏),三個(gè)分量分別表示紅、綠、藍(lán)顏色的多少,取值范圍為色的多少,取值范圍為0~255255。常用的8種顏色如下表所示:常用的8種純色RGBRGB顏色顏色RGBRGB值顏色顏色RGB(0,0,0)黑色RGB(255,255,255)白色RGB(255,0,0)紅色RGB(0,255,0)綠色RGB(0,0,255)藍(lán)色RGB(255,255,0)黃色RGB(0,255,255)青色RGB(255,0,255)品紅②畫(huà)線段
8、畫(huà)線段繪制線段pDCTextOut(32020“線段“)pDCMoveTo(400pDCMoveTo(40040)40)pDCLio(500pDCLio(50040)40)上面的代碼畫(huà)線,MoveTo函數(shù)移動(dòng)畫(huà)筆到一點(diǎn),Lio函數(shù)畫(huà)線。③畫(huà)折線(多義線)畫(huà)折線(多義線)繪制折線pDCTextOut(20170“折線“)POINTPOINTpolyline[4]=2402408012024012080240polyline[4]=2402
9、408012024012080240pDCPolyline(polyline4)pDCPolyline(polyline4)上面的代碼將給定的4個(gè)點(diǎn)順序連成折線,函數(shù)中第一個(gè)參數(shù)為折線頂點(diǎn)數(shù)組名,第二個(gè)參數(shù)表示一共有幾個(gè)點(diǎn)構(gòu)成折線(最小必須為2)。POINT是Windows的一種結(jié)構(gòu),用來(lái)標(biāo)識(shí)一個(gè)點(diǎn),它有兩個(gè)成員變量,分別用來(lái)表示點(diǎn)的X和Y坐標(biāo);在MFC類庫(kù)中,CPoint封裝了這種結(jié)構(gòu)。④畫(huà)矩形畫(huà)矩形繪制矩形pDCTextOut(32
10、0170“矩形“)pDCRectangle(390pDCRectangle(390110110600600230)230)此函數(shù)只能畫(huà)平行于屏幕的矩形,前兩個(gè)參數(shù)分別為矩形的左上角點(diǎn)的X和Y坐標(biāo),第三、四個(gè)參數(shù)分別為矩形的右下角點(diǎn)的X和Y坐標(biāo)。⑤畫(huà)橢圓畫(huà)橢圓繪制橢圓pDCTextOut(20320“橢圓“)pDCEllipse(80pDCEllipse(80260260280280380)380)此函數(shù)畫(huà)一個(gè)由4個(gè)參數(shù)表示的矩形的內(nèi)切橢
11、圓。CDC里沒(méi)專門畫(huà)圓的函數(shù),畫(huà)圓仍然使用Ellipse函數(shù)。使X和Y方向的長(zhǎng)度相等,這時(shí)畫(huà)出來(lái)的就是一個(gè)圓。⑥畫(huà)多邊形畫(huà)多邊形繪制多邊形pDCTextOut(320320“多邊形“)POINTPOINTpolygon[3]=380330530260500360polygon[3]=380330530260500360pDCPolygon(polygon3)pDCPolygon(polygon3)上面的代碼將給定三個(gè)點(diǎn)順序首尾連成封閉的
溫馨提示
- 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ù)僅提供信息存儲(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 07-08書(shū)法小組計(jì)劃總結(jié)
- 07-08單片機(jī)及其應(yīng)用a
- 07-08年度我國(guó)cpi
- 07-08年秋季學(xué)期園務(wù)計(jì)劃
- 07-08(1)下作業(yè)甲加答案
- 人力資源二級(jí)(07-08年)
- 07-08第一學(xué)期視聽(tīng)語(yǔ)言教案
- 圖形設(shè)備接口
- 07-08上學(xué)期期中物理教學(xué)反1
- 07-08(2)《藥理學(xué)》(雙語(yǔ))試卷(b卷)
- 07-08學(xué)年第1學(xué)期通選課情況表
- 07-08年.初三下.房山.化學(xué).一模.卷答
- 07-08年六年級(jí)第一學(xué)期體育教案
- 07-08高二年級(jí)英語(yǔ)寒假作業(yè)
- 07-08學(xué)年度第二學(xué)期小學(xué)數(shù)學(xué)教研組計(jì)劃
- 工程制圖第07-08講-第二章點(diǎn)線面投影
- 郁南07-08學(xué)年第二學(xué)期初中教學(xué)質(zhì)量調(diào)研測(cè)試
- 揚(yáng)中樹(shù)人07-08第一學(xué)期初三化學(xué)教學(xué)案
- 07-08口語(yǔ)機(jī)經(jīng)整理(借鑒了小馬過(guò)河的題目預(yù)測(cè))
- 宿州埇橋區(qū)褚蘭鎮(zhèn)關(guān)停礦山生態(tài)修復(fù)工程07-08標(biāo)段
評(píng)論
0/150
提交評(píng)論