




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
TurboC繪圖程序設(shè)計(jì)1.圖形顯示器的工作方式IBMPC機(jī)的顯示器可以在兩種基本視頻方式下工作:文本方式;圖形方式。(1)文本方式屏幕上可以顯示的最小單位是字符,字符在屏幕上以行、列排列,如25×80個(gè)字符。(2)圖形方式屏幕上可以控制的最小單元稱作像素(pixel),它是組成圖形的基本元素。
在圖形方式下,屏幕上每個(gè)像素的顯示位置用屏幕坐標(biāo)系來描述。在該坐標(biāo)系中,屏幕左上角為坐標(biāo)系的原點(diǎn),坐標(biāo)值為(0,0)。屏幕坐標(biāo)系
坐標(biāo)值的范圍決定于所用顯示器的分辨率。
2.圖形函數(shù)及其用法
TurboC的圖形函數(shù)均在一個(gè)頭文件“graphics.h”中定義。所以,凡是在程序中要調(diào)用這些圖形函數(shù),都必須在源程序的開頭寫上文件包含命令:#include<graphics.h>TC繪圖程序:圖形系統(tǒng)初始化繪圖關(guān)閉圖形模式
圖形方式初始化
通過從磁盤上裝入一個(gè)圖形驅(qū)動(dòng)程序來初始化圖形系統(tǒng),并將系統(tǒng)設(shè)置為圖形模式。其調(diào)用格式為:initgraph
(
&gdriver,&gmode,path);
若
gdriver=DETECT;則由系統(tǒng)自動(dòng)檢測(cè)圖形適配器的最高分辨率模式,并裝入相應(yīng)的圖形驅(qū)動(dòng)程序.
path是一個(gè)字符串,用來指明圖形驅(qū)動(dòng)程序所在的路徑。若圖形驅(qū)動(dòng)程序在用戶當(dāng)前目錄下,則path為空串.
舉例:intgdriver=DETECT,gmode;initgraph(&gdriver,&gmode,“”);
關(guān)閉圖形模式
closegraph();
LINE函數(shù):
在指定兩點(diǎn)之間畫直線。如:line(x1,y1,x2,y2);
MOVETO函數(shù):
移到指定點(diǎn)(不畫線)。如:moveto(x,y);
CIRCLE函數(shù):
指定圓心和半徑畫圓。如:circle(xc,yc,r);
ARC函數(shù):
畫一段圓弧。要求指定圓弧所在圓的圓心、半徑,以及圓弧的起始角度和終止角度。如:arc(xc,yc,angs,ange,r);
RECTANGLE函數(shù):
指定矩形的左上角和右下角畫一個(gè)矩形。如:rectangle(x1,y1,x2,y2);
DRAWPOLY函數(shù):
畫一條多邊折線。如:drawpoly(n,p);
其中,n
為多邊折線的頂點(diǎn)數(shù);p
為存放頂點(diǎn)坐標(biāo)值的數(shù)組名。數(shù)組元素個(gè)數(shù)為2*n.
如果首尾兩點(diǎn)重合,則可以繪制一個(gè)多邊形。
例如:#include“graphics.h”
main()
{
intgdriver,gmode;
staticintp[8]={10,20,150,150,200,30,10,20};
gdriver=DETECT;
initgraph(&gdriver,&gmode,“”);/*圖形系統(tǒng)初始化*/
drawpoly(4,p);/*畫一個(gè)三角形*/
getch();
closegraph();/*關(guān)閉圖形系統(tǒng),返回文本方式*/}
圖形的屬性指顏色和線型,顏色又分為背景色和前景色。系統(tǒng)的默認(rèn)值為:背景色為黑色;前景色為白色;線型為實(shí)線。
setbkcolor(背景色);設(shè)置背景色
如:setbkcolor(BLUE);設(shè)置背景色為蘭色
setbkcolor(12);設(shè)置背景色為12號(hào)色setcolor(畫筆色);設(shè)置畫筆色
如:setcolor(YELLOW);設(shè)置畫筆色為黃色
setcolor(5);設(shè)置畫筆色為5號(hào)色注意:背景色和畫筆色可以是名字或數(shù)字。見下表。
符號(hào)名數(shù)值顏色BLACK
BLUE
GREEN
CYAN
RED
MAGENTA
BROWN
LIGHTGRAY
DARKGRAY
LIGHTBLUE0
1
2
3
4
5
6
7
8
9黑色
藍(lán)色
綠色
青色
紅色
紫紅色
棕色
淺灰色
深灰色
淺藍(lán)色表符號(hào)名數(shù)值顏色LIGHTGREEN
LIGHTCYAN
LIGHTRED
LIGHTMAGENTA
YELLOW
WHITE10
11
12
13
14
15淺綠色
淺青色
淺紅色
淺紫色
黃色
白色
putpixel(x,y,color);
在(x,y)處以color色畫一點(diǎn)
例:putpixel(10,20,RED);在(10,20)處畫一紅點(diǎn)getpixel(x,y);得到(x,y)處的顏色值
例:if(getpixel(300,270)==7)………
outtextxy(x,y,”字符串”);
從(x,y)處開始顯示字符串
例:outtextxy(10,20,”ABCF”);在(10,20)處顯示ABCF
setfillstyle(p,color);
設(shè)置填充模式p(取值為0-12)及填充色color。
floodfill(x,y,bcolor);從(x,y)開始,用setfillstyle設(shè)置好的填充模式及填充色向四周填充,直到邊界(邊界色為bcolor)為止。
例:setcolor(RED);
circle(300,200,50);
setfillstyle(2,GREEN);
floodfill(300,200,RED);
從(300,200)開始,按setfillstyle設(shè)置的模式及顏色開始填充,一直到紅色邊界(圓周邊界)才停止。bar(x1,y1,x2,y2);
由setcolor設(shè)置的顏色畫一個(gè)矩形,并自動(dòng)按setfillstyle設(shè)置的模式及顏色對(duì)矩形填充.
矩形的左上角坐標(biāo)(x1,y1),矩形的右下角坐標(biāo)(x2,y2)pieslice(x,y,a1,a2,r);
由setcolor設(shè)置的顏色畫一個(gè)扇形,并自動(dòng)按setfillstyle設(shè)置的模式及顏色對(duì)扇形填充.
起始角度a1,終止角度a2,圓心(x,y),半徑r下面是與動(dòng)畫有關(guān)的幾個(gè)函數(shù):?getimage(x1,y1,x2,y2,p);
將屏幕左上角(x1,y1),右下角(x2,y2)的矩形區(qū)域內(nèi)的圖象存到指針P所指向的內(nèi)存區(qū)域中。
?putimage(x,y,p,op);
將p所指向的內(nèi)存區(qū)域的內(nèi)容在屏幕上顯示,左上角坐標(biāo)(x,y)。
op=0:預(yù)先對(duì)屏幕不進(jìn)行任何操作;
1:預(yù)先對(duì)屏幕進(jìn)行“異或”操作;
2:預(yù)先對(duì)屏幕進(jìn)行“或”操作;3:預(yù)先對(duì)屏幕進(jìn)行“與”操作;4:預(yù)先對(duì)緩沖區(qū)內(nèi)容進(jìn)行求“反”操作;imagesize(x1,y1,x2,y2)
返回保存位圖象所需的字節(jié)數(shù)。例:圖形移動(dòng)(一個(gè)矩形塊水平右移)。
#include”graphics.h”
#include”stdlib.h”
main()
{void*w;
intdriver=DETECT,mode,i;
initgraph(&driver,&mode,””);
rectangle(20,150,70,200);
w=malloc(imagesize(20,150,70,200));
getimage(20,150,70,200,w);
for(i=1;i<500;i++)
{putimage(i+20,150,w,0);/*清除當(dāng)前矩形*/
putimage(i+20,150,w,1);/*在新位置顯示矩形*/
}
free(w);
getch();closegraph();}
屏幕管理:setviewport(x1,y1,x2,y2,c);
設(shè)置視圖區(qū)。(x1,y1)為視圖區(qū)的左上角坐標(biāo);(x2,y2)為視圖區(qū)的右下角坐標(biāo)。c為裁剪狀態(tài)參數(shù),當(dāng)c=1時(shí),則超出視圖區(qū)的圖形部分被自
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝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ù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 二零二五年度教育培訓(xùn)機(jī)構(gòu)招生計(jì)劃保密條款
- 2025年度股東與企業(yè)間借款及風(fēng)險(xiǎn)承擔(dān)合同書
- 甲乙丙方2025年度農(nóng)業(yè)科技研發(fā)與應(yīng)用合作協(xié)議模板
- 美甲店聘用合同-2025年度技師技能競(jìng)賽激勵(lì)協(xié)議
- 二零二五年度企業(yè)行政人員崗位服務(wù)合同
- 二零二五年度房產(chǎn)抵押權(quán)設(shè)定協(xié)議
- 二零二五年度鐘點(diǎn)清潔工餐飲場(chǎng)所清潔用工協(xié)議
- 浙江國(guó)企招聘2024嘉興海寧中油能源有限公司招聘2人筆試參考題庫(kù)附帶答案詳解
- 二零二五年度商標(biāo)授權(quán)及全球品牌授權(quán)合作協(xié)議書
- 二零二五年度農(nóng)村宅基房屋買賣與農(nóng)村產(chǎn)業(yè)扶貧合作合同
- extreme-sports 極限運(yùn)動(dòng) 英文 ppt
- 國(guó)際注冊(cè)建造師與項(xiàng)目管理師雙資格認(rèn)證
- 面癱護(hù)理查房
- 財(cái)政部金融企業(yè)不良資產(chǎn)批量轉(zhuǎn)讓管理辦法(財(cái)金[2012]6號(hào))
- 精品資料(2021-2022年收藏)建筑立面裝飾設(shè)計(jì)技術(shù)導(dǎo)則
- 倉(cāng)庫(kù)管理警示標(biāo)語(yǔ)
- ISO9001質(zhì)量管理體系目錄結(jié)構(gòu)
- 5米對(duì)數(shù)視力表及E尺寸標(biāo)準(zhǔn)A4
- 十三五全國(guó)眼健康規(guī)劃(2016-2020年)終期自評(píng)報(bào)告
- “十四五”交通運(yùn)輸發(fā)展規(guī)劃思路
- 人口變動(dòng)情況抽樣調(diào)查工作進(jìn)展情況匯報(bào)
評(píng)論
0/150
提交評(píng)論