常用C語言圖形函數(shù)_第1頁
常用C語言圖形函數(shù)_第2頁
常用C語言圖形函數(shù)_第3頁
常用C語言圖形函數(shù)_第4頁
常用C語言圖形函數(shù)_第5頁
已閱讀5頁,還剩22頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

TurboC繪圖程序設計1.圖形顯示器的工作方式IBMPC機的顯示器可以在兩種基本視頻方式下工作:文本方式;圖形方式。(1)文本方式屏幕上可以顯示的最小單位是字符,字符在屏幕上以行、列排列,如25×80個字符。(2)圖形方式屏幕上可以控制的最小單元稱作像素(pixel),它是組成圖形的基本元素。

在圖形方式下,屏幕上每個像素的顯示位置用屏幕坐標系來描述。在該坐標系中,屏幕左上角為坐標系的原點,坐標值為(0,0)。屏幕坐標系

坐標值的范圍決定于所用顯示器的分辨率。

2.圖形函數(shù)及其用法

TurboC的圖形函數(shù)均在一個頭文件“graphics.h”中定義。所以,凡是在程序中要調(diào)用這些圖形函數(shù),都必須在源程序的開頭寫上文件包含命令:#include<graphics.h>TC繪圖程序:圖形系統(tǒng)初始化繪圖關閉圖形模式

圖形方式初始化

通過從磁盤上裝入一個圖形驅(qū)動程序來初始化圖形系統(tǒng),并將系統(tǒng)設置為圖形模式。其調(diào)用格式為:initgraph

(

&gdriver,&gmode,path);

gdriver=DETECT;則由系統(tǒng)自動檢測圖形適配器的最高分辨率模式,并裝入相應的圖形驅(qū)動程序.

path是一個字符串,用來指明圖形驅(qū)動程序所在的路徑。若圖形驅(qū)動程序在用戶當前目錄下,則path為空串.

舉例:intgdriver=DETECT,gmode;initgraph(&gdriver,&gmode,“”);

關閉圖形模式

closegraph();

LINE函數(shù):

在指定兩點之間畫直線。如:line(x1,y1,x2,y2);

MOVETO函數(shù):

移到指定點(不畫線)。如:moveto(x,y);

CIRCLE函數(shù):

指定圓心和半徑畫圓。如:circle(xc,yc,r);

ARC函數(shù):

畫一段圓弧。要求指定圓弧所在圓的圓心、半徑,以及圓弧的起始角度和終止角度。如:arc(xc,yc,angs,ange,r);

RECTANGLE函數(shù):

指定矩形的左上角和右下角畫一個矩形。如:rectangle(x1,y1,x2,y2);

DRAWPOLY函數(shù):

畫一條多邊折線。如:drawpoly(n,p);

其中,n

為多邊折線的頂點數(shù);p

為存放頂點坐標值的數(shù)組名。數(shù)組元素個數(shù)為2*n.

如果首尾兩點重合,則可以繪制一個多邊形。

例如:#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);/*畫一個三角形*/

getch();

closegraph();/*關閉圖形系統(tǒng),返回文本方式*/}

圖形的屬性指顏色和線型,顏色又分為背景色和前景色。系統(tǒng)的默認值為:背景色為黑色;前景色為白色;線型為實線。

setbkcolor(背景色);設置背景色

如:setbkcolor(BLUE);設置背景色為蘭色

setbkcolor(12);設置背景色為12號色setcolor(畫筆色);設置畫筆色

如:setcolor(YELLOW);設置畫筆色為黃色

setcolor(5);設置畫筆色為5號色注意:背景色和畫筆色可以是名字或數(shù)字。見下表。

符號名數(shù)值顏色BLACK

BLUE

GREEN

CYAN

RED

MAGENTA

BROWN

LIGHTGRAY

DARKGRAY

LIGHTBLUE0

1

2

3

4

5

6

7

8

9黑色

藍色

綠色

青色

紅色

紫紅色

棕色

淺灰色

深灰色

淺藍色表符號名數(shù)值顏色LIGHTGREEN

LIGHTCYAN

LIGHTRED

LIGHTMAGENTA

YELLOW

WHITE10

11

12

13

14

15淺綠色

淺青色

淺紅色

淺紫色

黃色

白色

putpixel(x,y,color);

在(x,y)處以color色畫一點

例:putpixel(10,20,RED);在(10,20)處畫一紅點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);

設置填充模式p(取值為0-12)及填充色color。

floodfill(x,y,bcolor);從(x,y)開始,用setfillstyle設置好的填充模式及填充色向四周填充,直到邊界(邊界色為bcolor)為止。

例:setcolor(RED);

circle(300,200,50);

setfillstyle(2,GREEN);

floodfill(300,200,RED);

從(300,200)開始,按setfillstyle設置的模式及顏色開始填充,一直到紅色邊界(圓周邊界)才停止。bar(x1,y1,x2,y2);

由setcolor設置的顏色畫一個矩形,并自動按setfillstyle設置的模式及顏色對矩形填充.

矩形的左上角坐標(x1,y1),矩形的右下角坐標(x2,y2)pieslice(x,y,a1,a2,r);

由setcolor設置的顏色畫一個扇形,并自動按setfillstyle設置的模式及顏色對扇形填充.

起始角度a1,終止角度a2,圓心(x,y),半徑r下面是與動畫有關的幾個函數(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)容在屏幕上顯示,左上角坐標(x,y)。

op=0:預先對屏幕不進行任何操作;

1:預先對屏幕進行“異或”操作;

2:預先對屏幕進行“或”操作;3:預先對屏幕進行“與”操作;4:預先對緩沖區(qū)內(nèi)容進行求“反”操作;imagesize(x1,y1,x2,y2)

返回保存位圖象所需的字節(jié)數(shù)。例:圖形移動(一個矩形塊水平右移)。

#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);/*清除當前矩形*/

putimage(i+20,150,w,1);/*在新位置顯示矩形*/

}

free(w);

getch();closegraph();}

屏幕管理:setviewport(x1,y1,x2,y2,c);

設置視圖區(qū)。(x1,y1)為視圖區(qū)的左上角坐標;(x2,y2)為視圖區(qū)的右下角坐標。c為裁剪狀態(tài)參數(shù),當c=1時,則超出視圖區(qū)的圖形部分被自

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論