<FONT size=3> C/C++语言提供了十分丰富的图形函数,图形函数文件为Graphics.h,使用图形函数前须先将屏幕设置为图形模式,C/C++语言提供了下面的函数: ( h% h! H* p& X9 A) q% e- F void far initgraph(int far *GD,int far *GM,char *P); " P3 N, Y& p7 T7 s" { 9 ?- b3 y X* r! j 其中,GD和GM分别表示图形驱动程序和图形模式,P指图形驱动程序所在的目录路径。 # a* g- ^! j7 D8 E8 i- m9 y/ {6 d \; O' v B o% D
图形驱动程序由Borland公司(对于Turbo C和Borland C++)提供,同时C/C++语言还提供了退出图形状态的函数closegraph(),格式为:* M% Y, K$ r x; C9 J2 c5 v2 {
void far closegraph(void);3 L; A' t# A4 P- Y
! K( L) Y; M* K% h$ ]& W% k6 u 许你经常在用C/C++语言编写一些图形程序,但是总不能脱离C/C++语言环境独立运行,我们怎样来解决呢?下面是实现图形程序独立运行的具体步骤: 3 H; N6 f" O% R* {& l$ _6 d! t: O, I: v* J+ f! X% p3 \+ F7 N
1.将驱动程序EGAVGA.BGI转换成目标文件EGAVGA.OBJ:- b5 |4 U; L9 I, H7 @
C:\TC>BGIOBJ EGAVGA2 b# @, g: j" S
6 X4 H% U! T% `+ I$ Y 按同样的办法,将字体文件*.CHR转换成目标文件*.OBJ:& W' E4 Q j# W- b* f6 p, a0 i
</FONT>, J( T" g" A+ a) L8 o
& o1 W. G5 J0 L# ?! J9 C0 Q5 V" m0 d
<TABLE cellSpacing=0 cellPadding=0 width=600 bgColor=#ffffff border=0>9 K- V. p9 G% K ~
1 n4 V+ d# Z' x; h- S7 g<TR> ; D7 U6 n+ s/ v) A1 w M<TD> C:\TC>BGIOBJ TRIP U. `4 D7 H( ^2 n$ E3 s! i
C:\TC>BGIOBJ LITT 3 U5 M4 Y: N5 ] {' b' { C:\TC>BGIOBJ SANS! I- M$ h9 Z( v
C:\TC>BGIOBJ GOTH</TD></TR></TABLE> - A& ]: B7 N" d% p<> 2.将上述建立的OBJ文件加入到GRAPHICS.LIB库文件中,具体方法如下:+ \& I. C- p3 }2 F2 j G& B( ^: C
</P>: G7 e# B' F/ f: N' G! c
<TABLE cellSpacing=0 cellPadding=0 width=600 bgColor=#ffffff border=0> 1 \, b2 d4 J5 {2 z* H3 v+ W" [ ?* b- M+ g1 J r7 b; G
<TR>( J3 ?$ i; L' Z5 [3 c; j% O& o' ^
<TD> C:\TC>TLINK C:\TC\LIB\GRAPHICS.LIB+EGAVGA$ E0 E$ W" d, y6 I4 J
C:\TC>TLINK C:\TC\LIB\GRAPHICS.LIB+TRIP . h0 A8 _" z5 B9 Q, G C:\TC>TLINK C:\TC\LIB\GRAPHICS.LIB+LITT ) `7 Z7 A! I! z$ P; ? C:\TC>TLINK C:\TC\LIB\GRAPHICS.LIB+SANS+ k4 l2 O: Z& J9 a
C:\TC>TLINK C:\TC\LIB\GRAPHICS.LIB+GOTH</TD></TR></TABLE> |( c5 b7 p3 u! f<> 也可以使用TLIB、PRJ程序代替TLINK。# ]/ N" e& l3 A. V
6 \0 w* A# N: R5 P 3.在程序中调用initgraph()函数前,应加上如下语句: , r5 y- Z0 h. j; C0 s registerbgidriver(EGAVGA-driver);. e7 U2 s& U" F
+ } S4 M- O0 o: j6 o
它通知连接程序把EGAVGA驱动程序装入用户的执行程序中,同样在装入字体文件之前要加上如下语句: ; ~- N1 }4 N: y, x7 q registerbgifont(字体文件名); z; ^5 ~$ W' q; t; S : A, n `9 _% O! @9 ~4 _! W 4.通过上述处理后,编译连接后的执行程序就可以在任何目录下运行了。这时,将屏幕初始化为图形模式的函数可改写为: 0 ^' u4 J7 t2 R* v8 f5 l7 N</P>( H) ^7 J" @9 j% ]8 O
<TABLE cellSpacing=0 cellPadding=0 width=600 bgColor=#ffffff border=0> $ @5 R; K* W% {; l' m# u. t% i # f; ^; J9 B+ W9 l) p<TR>. K O8 r4 h+ f l7 i8 D
<TD> void InitGra(void) ' M4 Q* {, X0 F1 |& j* Z {int GD=DETECT,GM;- `8 q+ l; A$ }/ `! r7 H
registerbgidriver(EGAVGA_driver);* a+ H0 Y2 p" x* ~0 z: |- g0 r {
registerbgifont(triplex_font); ( ], j0 [6 X/ j1 d# p% W7 ]5 z( g registerbgifont(small_font);8 Y5 J, K$ {# P) h4 o8 L
registerbgifont(sansserif_font); 2 e7 E# T" v: O registerbgifont(gothic_font);9 C) o# Q2 b8 R
initgraph(&GD,&GM,"");4 R# [9 I0 o4 K \, P- R! ]& f
}</TD></TR></TABLE> , B, v5 d% f. U# K0 z% M7 G( t; M<> 按照以上步骤,就能实现图形程序的独立运行</P>