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