




已閱讀5頁(yè),還剩3頁(yè)未讀, 繼續(xù)免費(fèi)閱讀
版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
TC常用命令簡(jiǎn)介Turbo C常用繪圖命令簡(jiǎn)介一、屏幕(設(shè)備)坐標(biāo)系與平面坐標(biāo)的區(qū)別略一個(gè)簡(jiǎn)單的繪圖程序由進(jìn)入圖形方式、繪圖和退出圖形方式三個(gè)組成部分。二、進(jìn)入圖形方式進(jìn)入圖形方式由圖形方式檢查和圖形初始化兩個(gè)步驟組成。圖形方式檢查:檢查適配器。圖形初始化:同一適配器有不同的模式可供選擇。首先在進(jìn)入圖形方式之前須調(diào)用頭文件:graphics.h。即在主函數(shù)前使用語(yǔ)句:#include進(jìn)入圖形方式使用的命令如下:void initgraph(int * gdriver,int *gmode,char *gpath);功能:初始化圖形系統(tǒng)。說(shuō)明: 1) 函數(shù)中參數(shù)gdriver指向圖形驅(qū)動(dòng)程序(或者等價(jià)值)。若使用DETECT(即等價(jià)值0)時(shí),initgraph()函數(shù)自動(dòng)檢測(cè)當(dāng)前計(jì)算機(jī)中裝有的顯示卡類型,并且選用最大分辨率的顯示模式。2)參數(shù)gmode指向顯示模式gmode所指的值必須是有效模式之一,一旦gdriver=0,則自動(dòng)選擇最佳模式。3)參數(shù)gpath指向圖形驅(qū)動(dòng)程序所在的路徑,例如gpath=C:TCBG1.若沒(méi)有指定路徑,就在當(dāng)前目錄下尋找。 一般圖形驅(qū)動(dòng)程序包含在.BGI文件中,這些文件是系統(tǒng)可以得到的。例: 調(diào)用initgraph()自動(dòng)檢測(cè)硬件圖形系統(tǒng),并選用最大分辨率顯示模式。 int gd,gm; gd=DETECT; initgraph(&gd,&gm,);三、繪圖一般繪圖時(shí),首先要清除屏幕,設(shè)置圖形視口,設(shè)置繪圖顏色,然后在屏幕上某個(gè)位置畫(huà)點(diǎn)或直線或曲線等。下面給出具有這些功能的函數(shù)。1、屏幕和視口設(shè)置與清除函數(shù)(1)setviewport() 設(shè)置圖形視口函數(shù)功能: 函數(shù)setviewport() 設(shè)置當(dāng)前圖形視口。用法: 函數(shù)調(diào)用方式為void setviewport(int left,int top,int right,int bottom,int clip);說(shuō)明: 參數(shù)left,top是左上角坐標(biāo),right,bottom是右下角坐標(biāo),它們都是絕對(duì)屏幕坐標(biāo)。如果參數(shù)clip為1,則超出視口的輸出圖形自動(dòng)被裁剪掉,即所有作圖限制于當(dāng)前圖形視口之內(nèi),如果clip為0,則不做裁剪,即作圖將無(wú)限制地?cái)U(kuò)展于視口周界之外,直到屏幕邊界。若無(wú)效參數(shù)傳入setviewport(),則graphresult()函數(shù)返回值-11,先前視口設(shè)置仍有效。例: 建立對(duì)角為(6,6)和(88,88)的視口,并帶有裁剪功能: setviewport(6,6,88,88,1);(2) clearviewport()清除圖形視口函數(shù)功能: 函數(shù)clearviewport()清除當(dāng)前圖形視口,并把光標(biāo)從當(dāng)前位置移到原點(diǎn)(0,0)。用法: 該函數(shù)調(diào)用方式為void clearviewport(void);說(shuō)明: 此函數(shù)調(diào)用執(zhí)行后,當(dāng)前圖形視口將不復(fù)存在。例: 清除當(dāng)前圖形視口,但并非整個(gè)屏幕: clearviewport();(3) cleardevice() 清除屏幕函數(shù)功能: 函數(shù)cleardevice() 清除整個(gè)屏幕,并且將當(dāng)前位置移到屏幕原點(diǎn)。用法: 此函數(shù)調(diào)用方式為void cleardevice(void);說(shuō)明: 該函數(shù)類似于文本模式下的函數(shù)clrscr(),但clrscr()函數(shù)不能在圖形方式下工作;同樣cleardevice()函數(shù)不能在文本模式下工作。例: 清除當(dāng)前整個(gè)屏幕: cleardevice();2、設(shè)置顏色函數(shù)(1) setbkcolor() 設(shè)置背景顏色函數(shù)功能: 函數(shù)setbkcolor()把當(dāng)前調(diào)色板顏色的第一個(gè)值改成指定的顏色值,以設(shè)置背景顏色。用法: 此函數(shù)調(diào)用方式為void setbkcolor(int color);說(shuō)明: 參數(shù)color為指定的背景色,其有效值可以是顏色符號(hào)名,也可以是色彩值。下表列出了背景顏色供選取。顏色符號(hào)名 色彩值 顏色符號(hào)名 色彩值-BLACK(黑色) 0 DARKGRAY(深灰) 8BLUE(藍(lán)色) 1 LIGHTBLUE(淡藍(lán)) 9GREEN(綠色) 2 LIGHTGREEN(淡綠) 10CYAN(青色) 3 LIGHTCYAN(淡青) 11RED(紅色) 4 LIGHTRED(淡紅) 12MAGENTA(品紅) 5 LIGHTMAGENTA(粉紅) 13BROWN(棕色) 6 YELLOW(黃色) 14LIGHTGRAY(淡灰) 7 WHITE(白色) 15- 調(diào)用該函數(shù),將改變整個(gè)屏幕的顏色,如果新的背景色與原來(lái)屏幕的圖形顏色相同,盡管圖形信息不會(huì)丟失,但是看不見(jiàn)圖形了。如果所選背景色為對(duì)比鮮明的顏色,看不見(jiàn)的圖形就會(huì)重新清晰地顯現(xiàn)出來(lái)。例: 把背景色置為淡藍(lán)色 setbkcolor(LIGHTBLUE);(2)setcolor() 設(shè)置顏色函數(shù)功能: 函數(shù)setcolor()設(shè)置當(dāng)前繪圖顏色(或稱做前景色)。用法: 該函數(shù)調(diào)用方式為void setcolor(int color);說(shuō)明: 參數(shù)color為選擇的當(dāng)前繪圖顏色。例: 設(shè)置16種不同的顏色,顯示16段直線:#includevoid main() int driver= DETECT,mode; int i; initgraph(&driver,&mode,); moveto(0,200); for(i=0;i16;i+) setcolor(i); linerel(20,0); getch();(3)getbkcolor() 返回背景色函數(shù)功能: 函數(shù)getbackcolor()返回當(dāng)前背景顏色。用法: 函數(shù)調(diào)用方式為int getbackcolor(void);說(shuō)明: 調(diào)用該函數(shù)后,獲得背景色,但其值不一定是調(diào)色板上的色彩值。返回值: 返回當(dāng)前繪圖色彩值。例: 返回當(dāng)前背景色彩值: printf(background color is %d, getbkcolor();(4). getcolor() 返回當(dāng)前繪圖顏色用法: 此函數(shù)調(diào)用方式為int getcolor(void);返回值: 返回當(dāng)前繪圖顏色值。3.屏幕位置函數(shù)(1) getx() 返回x坐標(biāo)函數(shù)功能: 函數(shù)getx()返回當(dāng)前圖形模式下當(dāng)前位置的x坐標(biāo)(水平像素坐標(biāo))。用法: 此函數(shù)調(diào)用方式為int getx(void);說(shuō)明: 這里坐標(biāo)是相對(duì)于當(dāng)前圖形視口的,如果沒(méi)有設(shè)置圖形視口,那么缺省的圖形視口為整個(gè)屏幕。(2) gety() 返回y坐標(biāo)函數(shù)功能: 函數(shù)gety()返回圖菜模式下當(dāng)前位置的y坐標(biāo)(垂直像素坐標(biāo))。用法: 此函數(shù)調(diào)用方式為int gety(void);說(shuō)明: 函數(shù)返回的坐標(biāo)是相對(duì)于當(dāng)前圖形視口的,如果沒(méi)有設(shè)置圖形視口,那么缺省的圖形視口為整個(gè)屏幕。例: 顯示圖形模式下當(dāng)前位置的x,y坐標(biāo)值:printf(x: %d, y: %d, getx(),gety();(3) moveto()函數(shù)功能: 函數(shù)moveto()將當(dāng)前位置移動(dòng)到指定坐標(biāo)的位置例: 把當(dāng)前位置移到(66,88)位置上: moveto(66,88);(4)moverel() 相對(duì)移動(dòng)函數(shù)功能: 函數(shù)moverel()根據(jù)指定的偏移量,將當(dāng)前位置移動(dòng)一個(gè)相對(duì)距離(即偏移量大小的距離),成為新的當(dāng)前位置。用法: 此函數(shù)調(diào)用方式為void moverel(int dx,int dy);說(shuō)明: 參數(shù)dx為x方向相對(duì)移動(dòng)距離dy為y方向相對(duì)移動(dòng)距離。相對(duì)移動(dòng)對(duì)圖形應(yīng)用程序,往往要比絕對(duì)移動(dòng)方便一些。例: 下面的程序,當(dāng)語(yǔ)句執(zhí)行到當(dāng)前位置在(90,90),則執(zhí)行后將移動(dòng)到(100,120)的位置上。即x方向相對(duì)移動(dòng)10,y方向相對(duì)移動(dòng)30:moverel(10,30);4.繪圖函數(shù)(1)putpixel() 畫(huà)像素點(diǎn)函數(shù)功能: 函數(shù)putpixel() 在圖形模式下屏幕上畫(huà)一個(gè)像素點(diǎn)。用法: 函數(shù)調(diào)用方式為void putpixel(int x,int y,int color);說(shuō)明: 參數(shù)x,y為像素點(diǎn)的坐標(biāo),color是該像素點(diǎn)的顏色,它可以是顏色符號(hào)名,也可以是整型色彩值。例: 在屏幕上(6,8)處畫(huà)一個(gè)紅色像素點(diǎn): putpixel(6,8,RED);(2)getpixel()返回像素色函數(shù)功能: 函數(shù)getpixel()返回像素點(diǎn)顏色值。用法: 該函數(shù)調(diào)用方式為int getpixel(int x,int y);例: 把屏幕上(8,6)點(diǎn)的像素顏色值賦給變量color。 color=getpixel(8,6);(3) 直線函數(shù)有三個(gè)畫(huà)直線的函數(shù),即line(),lineto(),linerel()。line() 畫(huà)線函數(shù)功能: 函數(shù)line()使用當(dāng)前繪圖色、線型及線寬,在給定的兩點(diǎn)間畫(huà)一直線。用法: 該函數(shù)調(diào)用方式為void line(int startx,int starty,int endx,int endy);說(shuō)明: 參數(shù)startx,starty為起點(diǎn)坐標(biāo),endx,endy為終點(diǎn)坐標(biāo)。lineto() 畫(huà)線函數(shù)功能: 函數(shù)lineto()使用當(dāng)前繪圖色、線型及線寬,從當(dāng)前位置畫(huà)一直線到指定位置。用法: 此函數(shù)調(diào)用方式為void lineto(int x,int y);說(shuō)明: 參數(shù)x,y為指定點(diǎn)的坐標(biāo),函數(shù)調(diào)用后,當(dāng)前位置改變到指定點(diǎn)(x,y)。linerel() 相對(duì)畫(huà)線函數(shù)功能: 函數(shù)linerel() 使用當(dāng)前繪圖色、線型及線寬,從當(dāng)前位置開(kāi)始,按指定的水平和垂直偏移距離畫(huà)一直線。用法: 這個(gè)函數(shù)調(diào)用方式為void linerel(int dx,int dy);說(shuō)明: 參數(shù)dx,dy分別是水平偏移距離和垂直偏移距離。函數(shù)調(diào)用后,當(dāng)前位置變?yōu)樵黾悠凭嚯x后的位置,例如,原來(lái)的位置是(8,6),調(diào)用函數(shù)linerel(10,18)后,當(dāng)前位置為(18,24)。例: 下面的程序?yàn)楫?huà)線函數(shù)調(diào)用實(shí)例:#includevoid main() int driver=DETECT,mode; initgraph(&driver,&mode,); setcolor(15); line(66,66,88,88); lineto(100,100); linerel(36,64); getch();(4)多邊形函數(shù)rectangle() 畫(huà)矩形函數(shù)功能: 函數(shù)rectangle() 用當(dāng)前繪圖色、線型及線寬,畫(huà)一個(gè)給定左上角與右下角的矩形(正方形或長(zhǎng)方形)。用法: 此函數(shù)調(diào)用方式為void rectangle(int left,int top,int right,int bottom);說(shuō)明: 參數(shù)left,top是左上角點(diǎn)坐標(biāo),right,bottom是右下角點(diǎn)坐標(biāo)。drawpoly() 畫(huà)多邊形函數(shù)功能: 函數(shù)drawpoly() 用當(dāng)前繪圖色、線型及線寬,畫(huà)一個(gè)給定若干點(diǎn)所定義的多邊形。用法: 此函數(shù)調(diào)用方式為void drawpoly(int pnumber,int *points);說(shuō)明: 參數(shù)pnumber為多邊形的頂點(diǎn)數(shù);參數(shù)points指向整型數(shù)組,該數(shù)組中是多邊形所有頂點(diǎn)(x,y)坐標(biāo)值,即一系列整數(shù)對(duì),x坐標(biāo)值在前。顯然整型數(shù)組的維數(shù)至少為頂點(diǎn)數(shù)的2倍,在定義了多邊形所有頂點(diǎn)的數(shù)組polypoints時(shí),頂點(diǎn)數(shù)目可通過(guò)計(jì)算sizeof(polypoints)除以2倍的sizeof(int)得到,這里除以2倍的原因是每個(gè)頂點(diǎn)有兩個(gè)整數(shù)坐標(biāo)值。另外有一點(diǎn)要注意,畫(huà)一個(gè)n個(gè)頂點(diǎn)的閉合圖形,頂點(diǎn)數(shù)必須等于n+1,并且最后一點(diǎn)(第n+1)點(diǎn)坐標(biāo)必須等于第一點(diǎn)的坐標(biāo)。例: 下面的程序畫(huà)一個(gè)封閉星形圖與一個(gè)不封閉星形圖:#includevoid main()int driver=DETECT,mode;static int polypoints118=100,100,110,120,100,130,120,125,140,140,130,120, 140,110,120,115,100,100;static int polypoints218=180,100,210,120,200,130,220,125,240,140,230,120, 240,110,220,115,220,110;initgraph(&driver,&mode,); drawpoly(9,polypoints1); drawpoly(9,polypoints2); getch(); restorecrtmode();(5) circle()畫(huà)圓函數(shù)功能: 函數(shù)circle()使用當(dāng)前繪圖色并以實(shí)線畫(huà)一個(gè)完整的圓。用法:該函數(shù)調(diào)用方式為void circle(int x,int y,int radius);說(shuō)明:參數(shù)x,y為圓心坐標(biāo),radius為圓半徑,用像素個(gè)素表示。四、退出圖形方式1.restorecrtmode() 恢復(fù)文本顯示模式函數(shù)功能: 函數(shù)restrecrtmode()將顯示模式恢復(fù)到調(diào)用initgraph()時(shí)檢測(cè)出的初始文本模式。用法: 這個(gè)函數(shù)調(diào)用方式為void restorecrtmode(void);說(shuō)明: 函數(shù)restorecrtmode()和setgraphmode()函數(shù)一起使用,可以實(shí)現(xiàn)文本與圖形顯示之間的切換。返回值: 無(wú)2.setgraphmode() 設(shè)置圖形模式函數(shù) 功能: 函數(shù)setgraphmode()用當(dāng)前圖形驅(qū)動(dòng)程序有效的圖形模式調(diào)用,一旦被調(diào)用,setgraphmode()選擇一個(gè)新的圖形模式。注意,圖形顯示模式必須事先由initgraph()初始化。用法: 該函數(shù)調(diào)用方式為void setgraphmode(int mode);說(shuō)明: 參數(shù)mode調(diào)用時(shí)為指定的模式值。3.closegraph()關(guān)閉圖形模式函數(shù)功能: 函數(shù)closegraph()將系統(tǒng)圖形模式關(guān)閉,復(fù)位到initgraph()初始文本模式,并且釋放圖形驅(qū)動(dòng)程序、字體和內(nèi)部緩沖區(qū)所占用的系統(tǒng)內(nèi)存。用法: 這個(gè)函數(shù)調(diào)用方式為void closegraph(void);說(shuō)明: 當(dāng)用戶的程序既用到圖形輸出又用到非圖形輸出時(shí),應(yīng)該調(diào)用此函數(shù)。特別是程序多次調(diào)用initgraph()函數(shù)的情況,要相應(yīng)地調(diào)用closegraph函數(shù),釋放調(diào)用initgraph()所占用的內(nèi)存,否則內(nèi)存很快就滿了,程序無(wú)法運(yùn)行,如果程序結(jié)束,也可以用restorecrtmode()函數(shù)代替該函數(shù),這樣任何分配的內(nèi)存都將釋放。五、Tubro C繪圖程序?qū)嵗?花邊小桌布在半徑為整數(shù)r的圓周上,等距地放置n個(gè)頂點(diǎn),然后用直線把這個(gè)n個(gè)頂點(diǎn)互相連接起來(lái),當(dāng)n足夠大時(shí),所得到圖形像一塊帶花邊的小桌布。源代碼:#include#includevoid main() int gmode,gdrive=DETECT;/*#include*/int x,y,r;int i,j,n; float q; int a100,b100; initgraph(&gdrive,&gmode,); printf(input n,x,y,r:); scanf(%d,%d,%d,%d,&n,&x,&y
溫馨提示
- 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ù)網(wǎng)僅提供信息存儲(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 高職院校美育課程建設(shè)中傳統(tǒng)文化融合的可行性研究
- 高校審計(jì)中大數(shù)據(jù)分析的使用與實(shí)踐探索
- 廣西壯族自治區(qū)北海市合浦縣2024年九年級(jí)化學(xué)第一學(xué)期期末質(zhì)量檢測(cè)模擬試題含解析
- 2025至2030短袖襯衫行業(yè)項(xiàng)目調(diào)研及市場(chǎng)前景預(yù)測(cè)評(píng)估報(bào)告
- 草莓采摘園與旅行社定制旅游服務(wù)合同
- 高溫高壓環(huán)境下的化工設(shè)備設(shè)計(jì)
- 2025年公職人員考試時(shí)事政治考試試題(附答案)
- 2025至2030巴基斯坦旋轉(zhuǎn)泵行業(yè)發(fā)展趨勢(shì)分析與未來(lái)投資戰(zhàn)略咨詢研究報(bào)告
- 2025至2030中國(guó)利瓦斯蒂明行業(yè)項(xiàng)目調(diào)研及市場(chǎng)前景預(yù)測(cè)評(píng)估報(bào)告
- 2025至2030中國(guó)自貿(mào)區(qū)(FTZ)行業(yè)現(xiàn)狀趨勢(shì)與發(fā)展前景戰(zhàn)略研究報(bào)告
- (完整版)曲臂式高空作業(yè)車安全技術(shù)交底
- 2024年民族宗教政策法規(guī)宣傳月知識(shí)競(jìng)賽考試題庫(kù)(含答案)
- 《3-6歲兒童學(xué)習(xí)與發(fā)展指南》考試參考題庫(kù)120題(含答案)
- 診所中藥飲片清單
- 零信任安全架構(gòu)-第1篇
- 《發(fā)酵飼料的應(yīng)用》課件
- 西式面點(diǎn)師(高級(jí))課件 項(xiàng)目4 甜品制作
- 鼎捷T100-V1.0-銷售管理用戶手冊(cè)-簡(jiǎn)體
- 抗生素的合理應(yīng)用-專業(yè)知識(shí)講座培訓(xùn)課件
- “三高共管、六病同防”工作實(shí)踐10-40-16
評(píng)論
0/150
提交評(píng)論