windows圖形輸出理論_第1頁
已閱讀1頁,還剩1頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、1.3.3圖形輸出Windows程序不僅在輸入上與DOS程序不同,而且在程序輸出上也與DOS有著很大不同,主要表現(xiàn)為:1.DOS程序獨占整個顯示屏幕程序獨占整個顯示屏幕,其他程序在后臺等待。而Windows的每一個應(yīng)用程序?qū)ζ聊坏囊徊糠诌M行處理。DOS程序可以直接往屏幕上輸出,而Windows是一個多窗口的操作系統(tǒng),由操作系統(tǒng)來統(tǒng)一管理屏幕輸出;每個窗口要輸出內(nèi)容時,必須首先向操作;每個窗口要輸出內(nèi)容時,必須首先向操作系統(tǒng)發(fā)出請求系統(tǒng)發(fā)

2、出請求(GDI請求請求),由操作系統(tǒng)完成實際的屏幕輸出工作,由操作系統(tǒng)完成實際的屏幕輸出工作。2.Windows程序的所有輸出都是圖形程序的所有輸出都是圖形。Windows提供了豐富的圖形函數(shù)用于圖形輸出,這對輸出圖形是相當(dāng)方便的,但是由于字符也被作為圖形來處理,輸出時的定位要比DOS復(fù)雜的多。比如,在DOS字符方式下,我們可以寫出如下程序用于輸出兩行文字:printf(“Hellon”)printf(“ThisisDOSprogram

3、.n”)而在Windows下要輸出這兩行文字所做的工作要復(fù)雜的多。因為因為Windows輸出是基輸出是基于圖形的,它輸出文本時不會象于圖形的,它輸出文本時不會象DOS那樣自動換行那樣自動換行,而必須以像素為單位精確定位每一行的輸出位置。另外,由于Windows提供了豐富的字體,所以在計算坐標(biāo)偏移量時還必須知道當(dāng)前所用字體的高度和寬度。3.Windows下的輸出是設(shè)備無關(guān)的下的輸出是設(shè)備無關(guān)的。在DOS下編寫過Foxpro程序的讀者常常會

4、有這樣的體會,在編寫打印報表程序時,要針對不同的打印機在程序中插入不同的打印控制碼,用以控制換頁、字體設(shè)置等選項。這樣的程序編寫起來繁瑣,而且不容易移植(因為換一臺不同型號的打印機就要重新修改程序)。而Windows下的應(yīng)用程序使用圖形設(shè)備接口(GDI)來進行圖形輸出。GDI屏蔽了不同設(shè)備的差異,提供了設(shè)備無關(guān)的圖形輸出能力,Windows應(yīng)用程序只要發(fā)出設(shè)備無關(guān)的GDI請求(如調(diào)用Rectangle畫一個矩形),由GDI去完成實際的圖

5、形輸出操作。對于一臺具有打印矩形功能的Post打印機來說,GDI可能只需要將矩形數(shù)據(jù)傳給驅(qū)動程序就可以了,然后由驅(qū)動程序產(chǎn)生可能只需要將矩形數(shù)據(jù)傳給驅(qū)動程序就可以了,然后由驅(qū)動程序產(chǎn)生Post命令繪制命令繪制出相應(yīng)的矩形;而對于一臺沒有矩形輸出功能的點陣打印機來說,出相應(yīng)的矩形;而對于一臺沒有矩形輸出功能的點陣打印機來說,GDI可能需要將矩形轉(zhuǎn)可能需要將矩形轉(zhuǎn)化為四條線,然后向驅(qū)動程序發(fā)出畫線的指令,在打印機上輸出矩形化為四條線,然后向

6、驅(qū)動程序發(fā)出畫線的指令,在打印機上輸出矩形。當(dāng)然,這兩種輸出在用戶看來并沒有什么區(qū)別。Windows的圖形輸出是由圖形設(shè)備接口(GDI)來完成的,GDI是系統(tǒng)原始的圖形輸出庫,它用于在屏幕上輸出像素、在打印機上輸出硬拷貝以及繪制Windows用戶界面。GDI提供兩種基本服務(wù):創(chuàng)建圖形輸出創(chuàng)建圖形輸出和存儲圖象存儲圖象。GDI提供了大量用于圖形輸出的函數(shù),這些函數(shù)接收應(yīng)用程序發(fā)出來的繪圖請求、處理繪圖數(shù)據(jù)并根據(jù)當(dāng)前使用設(shè)備調(diào)用相應(yīng)的設(shè)備驅(qū)

7、動程序產(chǎn)生繪圖輸出。這些繪圖函數(shù)分為三類:一是文字輸出一是文字輸出,二是矢量圖二是矢量圖形函數(shù),用于畫線、圓等幾何圖形形函數(shù),用于畫線、圓等幾何圖形,三是光柵(位圖)圖形函數(shù),用于繪制位圖三是光柵(位圖)圖形函數(shù),用于繪制位圖。GDI識別四種類型的設(shè)備:顯示屏幕、硬拷貝設(shè)備(打印機、繪圖機)、位圖和圖元文件。前兩者是物理設(shè)備,后兩者是偽設(shè)備。一個偽設(shè)備提供了一種在RAM里或磁盤里存儲圖象的方法。位圖存放的是圖形的點位信息,占用較多的內(nèi)存

8、,但速度很快。圖元文件保存的是GDI函數(shù)的調(diào)用和調(diào)用參數(shù),占用內(nèi)存較少,但依賴于GDI,因此不可能用某個設(shè)備來創(chuàng)建圖元文件,而且速度比位圖要慢。GDI的圖形輸出是面向窗口的,面向窗口包含兩層含義:(1)每個窗口作為一個獨立的繪圖接口來處理,有它自己的繪圖坐標(biāo)。當(dāng)程序在一個窗口中繪圖時,首先建立缺省的繪圖坐標(biāo),原點(0,0)位于窗口用戶區(qū)的左上角。每個窗口必須獨立的維護自己的輸出。(2)繪圖僅對于本窗口有效,圖形在窗口邊界會被自動裁剪,也

溫馨提示

  • 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論