《urboC圖形》ppt課件_第1頁
《urboC圖形》ppt課件_第2頁
《urboC圖形》ppt課件_第3頁
《urboC圖形》ppt課件_第4頁
《urboC圖形》ppt課件_第5頁
已閱讀5頁,還剩11頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、圖形設計n1 顯示系統(tǒng)n顯示器:CRT陰極射線管與控制電路組成n適配器圖形卡:CPU與顯示器的接口,由存放器組、存儲器和控制電路組成主機圖形控制器顯示存儲器顯示控制器適配器CRT將要顯示的字符和圖形以數(shù)字方式存儲在卡上的視頻RAM中,再轉(zhuǎn)換成視頻模擬信號傳送給相應的顯示器顯示方式文本方式:顯示緩沖區(qū)中存放顯示字符的代碼ASCII碼或漢字機內(nèi)碼,及字符的屬性,顯示屏幕按字符分成假設干行、列,如80列25行圖形方式:顯示緩沖區(qū)中存放顯示屏幕上每點象素的顏色或灰度值,顯示屏幕按象素分成假設干行、列,如640480普通開機后的方式都是80 25的文本方式文本窗口的定義 Turbo C2.0默許定義的文

2、本窗口為整個屏幕, 共有80列(或40列)25行的文本單元, 每個單元包括一個字符和一個屬性, 字符即ASCII 碼字符, 屬性規(guī)定該字符的顏色和強度。 Turbo C2.0可以定義屏幕上的一個矩形域作為窗口, 運用window()函數(shù)定義。 窗口定義之后, 用有關窗口的輸入輸出函數(shù)就可以只在此窗口內(nèi)進展操作而不超 出窗口的邊境。 window()函數(shù)的調(diào)用格式為: void window(int left, int top, int right, int bottom); 該函數(shù)的原型在conio.h 中 。 函數(shù)中方式參數(shù)(int left, int top)是窗口左上角的坐標, (int

3、 right, int bottom)是窗口的右下角坐標. 其中(left, top)和(right,bottom) 是相對于整個屏幕而言的。 Turbo C 2.0規(guī)定整個屏幕的左上角坐標為(1, 1), 右下角坐標為(80, 25)。window(20, 5, 50, 25); 文本窗口顏色的設置 文本窗口顏色的設置包括背景顏色的設置和字符顏色的設置, 運用的函數(shù)及 其調(diào)用格式為: 設置背景顏色: void textbackground(int color); 設置字符顏色: void textcolor(int color); 下面這個程序運用了關于窗口大小的定義、顏色的設置等函數(shù), 在

4、一個屏幕上不同位置定義了7個窗口, 其背風光分別運用了7種不同的顏色。 #include #include main() int i; textbackground(0); /* 設置屏幕背風光 */ clrscr(); /* 去除文本屏幕 */ for(i=1; i8; i+) window(10+i*5, 5+i, 30+i*5, 15+i); /* 定義文本窗*/ textbackground(i); /* 定義窗口背風光 */ clrscr(); /* 去除窗口 */ getch(); 2 Turbo C繪圖Turbo C支持的適配器和圖形方式xy(0,0)分辨率:640 480(0,

5、0)(0,0)(20,50)(639,479)(400,150)圖形庫文件與圖形頭文件 graphics.lib與graphics.h圖形顯示的坐標與象素適配器方式分辨率顏色數(shù)標識符CGA彩色圖形適配器EGA加強圖形適配器VGA視頻圖形陣列0320 2004CGAC04640 2002CGAHI1320 2004CGAC12320 2004CGAC23320 2004CGAC30640 20016EGAL01640 35016EGAHI0640 20016VGAL01640 35016VGAMED2640 48016VGAHI#include main() int driver=DETECT,

6、mode; initgraph(&driver,&mode, “); . closegraph();initgraph(&driver,&mode, “d:tcbgi);#include main() int driver=VGA; int mode=VGAHI; initgraph(&driver,&mode, “); . closegraph();將指定方式的驅(qū)動程序 (*.GBI)從當出途徑下調(diào)入內(nèi)存封鎖圖形系統(tǒng)回到文本方式1. 圖形方式的初始化圖形方式的初始化 void far initgraph(int far *gdriver, in

7、t far *gmode, char *path); void far detectgraph(int *gdriver, *gmode); void far closegraph(void);2.屏幕顏色的設置和清屏函數(shù)屏幕顏色的設置和清屏函數(shù) 設置背風光設置背風光: void far setbkcolor( int color); 設置作圖色設置作圖色: void far setcolor(int color); 清清 屏:屏: voide far cleardevice(void);3. 根本圖形函數(shù)根本圖形函數(shù) 1). 畫點函數(shù)畫點函數(shù) void far putpixel(int x,

8、 int y, int color); int far getpixel(int x, int y); 2). 有關坐標位置的函數(shù)有關坐標位置的函數(shù) int far getmaxx(void); int far getmaxy(void); int far getx(void); void far gety(void); void far moveto(int x, int y); void far moverel(int dx, int dy);3). 畫線函數(shù) void far line(int x0, int y0, int x1, int y1); void far lineto(in

9、t x, int y); void far linerel(int dx, int dy); void far circle(int x, int y, int radius); void far arc(int x, int y, int stangle, int endangle, int radius); void ellipse(int x, int y, int stangle, int endangle, int xradius, int yradius); void far rectangle(int x1, int y1, int x2, inty2); void far dr

10、awpoly(int numpoints, int far *polypoints); 4). 設定線型函數(shù) void far setlinestyle(int linestyle, unsigned upattern, Int thickness);4. 封鎖圖形的填充封鎖圖形的填充 先畫輪廓再填充先畫輪廓再填充 void far bar(int x1, int y1, int x2, int y2); void far bar3d(int x1, int y1, int x2, int y2, int depth, int topflag); void far pieslice(int x

11、, int y, int stangle, int endangle, int radius); void far sector(int x, int y, int stanle, intendangle, int xradius, int yradius); 設定填充方式設定填充方式 void far setfillstyle(int pattern, int color); void far setfillpattern(char * upattern,int color); void far getfillpattern(char * upattern); 恣意封鎖圖形的填充恣意封鎖圖形

12、的填充 void far floodfill(int x, int y, int border);5. 有關圖形窗口和圖形屏幕操作函數(shù)有關圖形窗口和圖形屏幕操作函數(shù) 圖形窗口操作圖形窗口操作 void far setviewport(int xl,int yl,int x2, int y2,int clipflag); void far clearviewport(void); 屏幕操作屏幕操作 void far setactivepage(int pagenum); void far setvisualpage(int pagenum); void far getimage(int xl,i

13、nt yl, int x2,int y2, void far *mapbuf); void far putimge(int x,int,y,void * mapbuf, int op); unsined far imagesize(int xl,int yl,int x2,int y2);6. 圖形方式下的文本輸出圖形方式下的文本輸出 文本輸出函數(shù)文本輸出函數(shù) void far outtext(char far *textstring); void far outtextxy(int x, int y, char far *textstring); int sprintf(char *str,

14、 char *format, variable-list); 有關文本字體、字型和輸出方式的設置有關文本字體、字型和輸出方式的設置 void far settexjustify(int horiz, int vert); 用戶對文本字符大小的設置用戶對文本字符大小的設置 void far setusercharsize(int mulx, int divx, int muly, int divy);7 7 圖形程序的獨立運轉(zhuǎn)問題圖形程序的獨立運轉(zhuǎn)問題為使圖形方式的為使圖形方式的C C源程序可以脫離源程序可以脫離TCTC環(huán)境下運轉(zhuǎn),環(huán)境下運轉(zhuǎn),應對應對EGAVGAEGAVGA顯示器的驅(qū)動程序顯示

15、器的驅(qū)動程序.BGI.BGI轉(zhuǎn)換成轉(zhuǎn)換成.OBJ.OBJ文件文件: : C:TCBGIOBJ EGAVGA C:TCBGIOBJ EGAVGA然后然后, ,將將EGAVGA.OBJEGAVGA.OBJ與與GRAPHICS.LIBGRAPHICS.LIB進展銜接進展銜接: : C:TCTLIB C:TCTLIB LIBGRAPHICS.LIB+EGAVGA.OBJLIBGRAPHICS.LIB+EGAVGA.OBJ程序中程序中,initgraph(),initgraph()調(diào)用前要用調(diào)用前要用registerbgidriver()registerbgidriver()進展登記進展登記: : regi

溫馨提示

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

評論

0/150

提交評論