

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、C語言圖形篇語言圖形篇一、TurboC與圖形接口TC具有相當強的圖形處理能力,支持CGA、EGA、VGA等圖形顯示器。一般的PC型顯示器都可以在兩種基本視頻模式下工作,一種是圖形方式圖形方式,另一種是文本方式文本方式。文本方式即常見的命令行方式,屏幕上可以顯示的最小單位是字符。常見的VGA顯示適配器,可顯示80列50行文本。圖形方式下,屏幕上每一個可以控制的單元叫做像素(pixel),它是組成圖形的基本元素,一般稱為點。通常把屏幕上所包
2、含的像素的個數叫做分辨率。分辨率越高,顯示的圖形越細致,質量越好。VGA顯示器的分辨率為640480,即VGA在水平方向上有640個像素,垂直方向上有480個像素。在圖形方式下,屏幕上每個像素的顯示位置用點坐標系來描述。在這種坐標系中,屏幕左上角為坐標原點(0,0),水平方向為x軸,自左向右遞增,垂直方向為y軸,自上向下遞增,如圖所示。分辨率不同,水平方向和垂直方向上的點數也不一樣,即maxx、maxy數值不同。在TC中,坐標數據可以用
3、兩種形式給出,一種是絕對坐標絕對坐標,另一種是相對坐標相對坐標。絕對坐標的參考點是坐標系的原點(0,0),x和y只能取規(guī)定范圍內的正整數,其坐標值在整個屏幕范圍內確定。相對坐標是相對于“當前點”的坐標,所以其坐標的參考點是當前點。在相對坐標中,x和y的取值是相對于當前點在x方向和y方向上的增量,這個增量可以是正的,也可以是負的。二、TC圖形庫函數TurboC3.0具有70多個圖形庫函數,因此其圖形功能極為豐富。所有這些庫函數均在頭文件“
4、graphics.h”中定義,所以,凡是在程序中要調用這些圖形函數,都必須在程序文件的開頭寫上文件包含命令#includeTC的圖形庫函數主要有6大類:圖形系統(tǒng)管理圖形系統(tǒng)管理、屏幕管理屏幕管理、繪圖管理繪圖管理、圖形屬性控制圖形屬性控制、填充填充和圖形方式下的文本操作文本操作。(1)圖形系統(tǒng)管理在一般缺省情況下,屏幕為80列50行的文本方式,此時,所有的圖形函數均不能操作,因此在使用圖形函數繪圖之前,必須將屏幕顯示適配器設置為一種圖形
5、模式,即所謂的“圖形方式初始化”。在繪圖完畢后,要回到文本方式,必須關閉圖形方式。①.圖形方式初始化通過函數initgraph來完成。其調用格式為:initgraph(gdrivergmodepath)函數initgraph是通過從磁盤上裝入一個圖形驅動程序來初始化圖形系統(tǒng),并將系統(tǒng)設置為圖形方式。其中3個參數的含義為:gdriver是一個整型值,用來指定要裝入的圖形驅動程序,該值在頭文件graphics.h中定義,常用的是DETECT
6、、EGA和VGA。使用DETECT,由系統(tǒng)自動檢測圖形適配器的最高分辨率模式,并裝入相應的圖形驅動程序。maxxxYmaxy(0,0)②.清除視圖區(qū)清除視圖區(qū)函數為clearviewpt,它的作用是清除當前的視圖區(qū),將當前點位置設置于屏幕的左上角(0,0)點。執(zhí)行后,原先的視圖區(qū)不再存在。調用格式為:clearviewpt()③.清屏清屏使用函數cleardevice,它的作用是清除全屏幕,并將當前點位置設置為原點(0,0)。但是其他的
7、圖形設置保持不變,如線型、填充模式、文本格式和模式等。如果設置了視圖區(qū),則視圖區(qū)的設置保持不變,包括當前點位置設置在視圖區(qū)的左上角。調用格式為:cleardevice()(3)繪圖函數繪圖函數是編寫繪圖程序的基礎,也是任何一種圖形軟件的核心內容。TC的BGI(BlGraphicsInterface)提供了大量的基本繪圖函數,以方便圖形設計。這些繪圖函數可分為直線類、圓弧類、多邊形類等。I.直線類繪圖函數直線類繪圖函數用于繪制直線,可以用
8、兩種坐標,絕對坐標和相對坐標。①.line函數line函數用于在指定兩點之間畫一條直線段:line(intx1inty1intx2inty2)參數x1、y1、x2、y2使用絕對坐標,(x1,y1)和(x2,y2)分別為直線的兩個端點坐標。用line函數畫直線時,當前點的位置不變。②.lio函數lio函數用于從當前點位置到指定位置(x,y)畫一條直線,并改變當前點的位置。所以在畫一條直線的同時,當前點的位置也移到了指定點,即直線的終點。調
9、用的格式為:lio(intxinty)③.linerel函數linerel函數使用相對坐標畫直線。其功能是從當前點位置開始畫線到指定點位置,指定點位置的坐標不是以絕對坐標形式給出的,而是以其相對于當前點(即直線的起點)位置的坐標增量給出的。調用格式:linerel(intdxintdy)假設當前點位置坐標(x,y),則“l(fā)inerel(dxdy)”等效于“l(fā)io(xdxydy)”④.moveto函數moveto函數用于將當前點移動到(x
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
評論
0/150
提交評論