Turbo C提供了非常豐富的圖形函數,所有圖形函數的原型均在graphics. h中,本節主要介紹圖形模式的初始化、獨立圖形程式的建立、基本圖形功能、圖形視窗以及圖形模式下的文本輸出等函數。另外,使用圖形函數時要確保有顯示器圖形驅動程式*BGI,同時將整合式開發環境Options/Linker中的Graphics lib選為on,只有這樣才能保證正確使用圖形函數。
1. 圖形模式的初始化
不同的顯示器適配器有不同的圖形解析度。即是同一顯示器適配器,在不同模式下也有不同解析度。因此,在螢幕作圖之前,必鬚根據顯示器適配器種類將顯示器設定成為某種圖形模式,在未設定圖形模式之前,微機系統預設螢幕為文字模式(80列,25行字元模式),此時所有圖形函數均不能工作。設定螢幕為圖形模式,可用下列圖形初始化函數:
void far initgraph(int far *gdriver,int far *gmode,char *path);
其中gdriver和gmode分別表示圖形磁碟機和模式,path是指圖形驅動程式所在的目錄路徑。有關圖形磁碟機、圖形模式的符號常數及對應的解析度見表2。
圖形驅動程式由Turbo C出版商提供,副檔名為.BGI。根據不同的圖形卡有不同的圖形驅動程式。例如對於EGA、 VGA 圖形卡就調用驅動程式EGAVGA.BGI。
表2. 圖形磁碟機、模式的符號常數及數值
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
圖形磁碟機(gdriver) 圖形模式(gmode)
─────────── ─────────── 色調 解析度
符號常數 數值 符號常數 數值
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
CGA 1 CGAC0 0 C0 320*200
CGAC1 1 C1 320*200
CGAC2 2 C2 320*200
CGAC3 3 C3 320*200
CGAHI 4 2色 640*200
───────────────────────────────────
MCGA 2 MCGAC0 0 C0 320*200
MCGAC1 1 C1 320*200
MCGAC2 2 C2 320*200
MCGAC3 3 C3 320*200
MCGAMED 4 2色 640*200
MCGAHI 5 2色 640*480
───────────────────────────────────
EGA 3 EGALO 0 16色 640*200
EGAHI 1 16色 640*350
───────────────────────────────────
EGA64 4 EGA64LO 0 16色 640*200
EGA64HI 1 4色 640*350
───────────────────────────────────
EGAMON 5 EGAMONHI 0 2色 640*350
───────────────────────────────────
IBM8514 6 IBM8514LO 0 256色 640*480
IBM8514HI 1 256色 1024*768
───────────────────────────────────
HERC 7 HERCMONOHI 0 2色 720*348
───────────────────────────────────
ATT400 8 ATT400C0 0 C0 320*200
ATT400C1 1 C1 320*200
ATT400C2 2 C2 320*200
ATT400C3 3 C3 320*200
ATT400MED 4 2色 320*200
ATT400HI 5 2色 320*200
───────────────────────────────────
VGA 9 VGALO 0 16色 640*200
VGAMED 1 16色 640*350
VGAHI 2 16色 640*480
───────────────────────────────────
PC3270 10 PC3270HI 0 2色 720*350
───────────────────────────────────
DETECT 0 用於硬體測試
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━