版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)
文檔簡介
1、1Lesson0708圖形設(shè)備接口圖形設(shè)備接口Windows系統(tǒng)具有豐富的圖形界面。Windows系統(tǒng)提供許多函數(shù)來實現(xiàn)繪圖的要求。而圖形設(shè)備接口(圖形設(shè)備接口(GraphicsDeviceInterface,簡寫為,簡寫為GDI)就可看作是這些函數(shù)的集合。GDI表示的是一個抽象的接口。通過該接口可以實現(xiàn)對圖形的顏色、線條的粗細等屬性的控制(甚至包括輸出文字在內(nèi))。應(yīng)用程序可以通過調(diào)用這些GDI函數(shù)和硬件打交道,而不必知道到底是哪個廠家
2、生產(chǎn)的硬件,從而實現(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)系,其原點在窗口客戶區(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,才能進行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種類型:顯示型、打印機型、內(nèi)存型和信息型類型:顯示型、打印機型、內(nèi)存型和信息型。每種類型的設(shè)備環(huán)境都有各自的特定用途,見下表:設(shè)備環(huán)境的類型和用途設(shè)備環(huán)境設(shè)備環(huán)境用途用途顯示器型支持視頻顯示器上的繪圖操作打印機型支持打印機和繪圖儀上的繪圖操
6、作內(nèi)存型支持位圖上的繪圖操作信息型支持設(shè)備數(shù)據(jù)的訪問2MFC中的設(shè)備環(huán)境類中的設(shè)備環(huán)境類在MFC類庫中,設(shè)備環(huán)境被CDC類封裝了起來,而CDC類下面又有4個派生類,各有特點,并可以完成不同的功能,如下所示:CMetaFileDC專門用于Windows圖元文件,剩下的三種DC類之間存在差別:3WindowsWindows的顏色數(shù)據(jù)類型的顏色數(shù)據(jù)類型COLREFCOLREF(格式為(格式為0x00bbggrr0x00bbggrr),三個分量
7、分別表示紅、綠、藍顏),三個分量分別表示紅、綠、藍顏色的多少,取值范圍為色的多少,取值范圍為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)藍色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ù)移動畫筆到一點,Lio函數(shù)畫線。③畫折線(多義線)畫折線(多義線)繪制折線pDCTextOut(20170“折線“)POINTPOINTpolyline[4]=2402408012024012080240polyline[4]=2402
9、408012024012080240pDCPolyline(polyline4)pDCPolyline(polyline4)上面的代碼將給定的4個點順序連成折線,函數(shù)中第一個參數(shù)為折線頂點數(shù)組名,第二個參數(shù)表示一共有幾個點構(gòu)成折線(最小必須為2)。POINT是Windows的一種結(jié)構(gòu),用來標(biāo)識一個點,它有兩個成員變量,分別用來表示點的X和Y坐標(biāo);在MFC類庫中,CPoint封裝了這種結(jié)構(gòu)。④畫矩形畫矩形繪制矩形pDCTextOut(32
10、0170“矩形“)pDCRectangle(390pDCRectangle(390110110600600230)230)此函數(shù)只能畫平行于屏幕的矩形,前兩個參數(shù)分別為矩形的左上角點的X和Y坐標(biāo),第三、四個參數(shù)分別為矩形的右下角點的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)上面的代碼將給定三個點順序首尾連成封閉的
溫馨提示
- 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)方式做保護處理,對用戶上傳分享的文檔內(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單片機及其應(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講-第二章點線面投影
- 郁南07-08學(xué)年第二學(xué)期初中教學(xué)質(zhì)量調(diào)研測試
- 揚中樹人07-08第一學(xué)期初三化學(xué)教學(xué)案
- 07-08口語機經(jīng)整理(借鑒了小馬過河的題目預(yù)測)
- 宿州埇橋區(qū)褚蘭鎮(zhèn)關(guān)停礦山生態(tài)修復(fù)工程07-08標(biāo)段
評論
0/150
提交評論