<FONT size=3> C/C++语言提供了十分丰富的图形函数,图形函数文件为Graphics.h,使用图形函数前须先将屏幕设置为图形模式,C/C++语言提供了下面的函数: ( t3 q- X: b- P4 W, w$ z& v void far initgraph(int far *GD,int far *GM,char *P);( c+ w4 G% k. Z$ s5 x
* v, P* `+ n: @) `- y 其中,GD和GM分别表示图形驱动程序和图形模式,P指图形驱动程序所在的目录路径。 $ @8 n8 L7 T3 ]$ r0 k) U$ z7 {, J7 h! a; }9 g. i
图形驱动程序由Borland公司(对于Turbo C和Borland C++)提供,同时C/C++语言还提供了退出图形状态的函数closegraph(),格式为: , Q/ v2 l, b+ n! q6 c void far closegraph(void); 1 i+ S3 u# j1 J) v $ U; v/ d1 r! ?+ Y$ \ 许你经常在用C/C++语言编写一些图形程序,但是总不能脱离C/C++语言环境独立运行,我们怎样来解决呢?下面是实现图形程序独立运行的具体步骤:5 w- p9 A/ K! a
4 _1 k# i- a, E
1.将驱动程序EGAVGA.BGI转换成目标文件EGAVGA.OBJ: " Y( R0 c+ O" _+ h0 | C:\TC>BGIOBJ EGAVGA % J v, ^* H! F; C : B7 e; H* K* T! _: [ 按同样的办法,将字体文件*.CHR转换成目标文件*.OBJ: " Y7 u. m: F! I0 d9 ?0 m</FONT> * y, J: `7 l2 w3 [7 m0 O, ~ J+ N5 \3 W& H; ~% D* |5 @
0 f! a% g% x9 u6 p( K% v- G% z1 C
<TABLE cellSpacing=0 cellPadding=0 width=600 bgColor=#ffffff border=0>* w5 B$ E" W; H2 g
8 U* W# F2 c& X
<TR> * T- Q9 [, Z. |! Y5 W<TD> C:\TC>BGIOBJ TRIP 6 V y9 L" H5 ~: T% P' J C:\TC>BGIOBJ LITT/ [- `* ~3 n# [! ?6 U: `4 |7 H
C:\TC>BGIOBJ SANS" ]0 A4 R, W% ^$ Z5 v' r4 }
C:\TC>BGIOBJ GOTH</TD></TR></TABLE>7 Z/ d# F- Y# h; N# z
<> 2.将上述建立的OBJ文件加入到GRAPHICS.LIB库文件中,具体方法如下:6 o/ \9 c. W8 W# l, S
</P> * N+ K5 {# I. c( i) I6 |, Z2 c<TABLE cellSpacing=0 cellPadding=0 width=600 bgColor=#ffffff border=0> / U0 o5 a j4 j8 X0 V( n! j ) v1 B/ `; |1 N8 t9 S( U<TR> 6 j! c3 l6 |" H; H4 w# g3 V<TD> C:\TC>TLINK C:\TC\LIB\GRAPHICS.LIB+EGAVGA 7 \9 s8 _3 v- N/ b: U: [5 M C:\TC>TLINK C:\TC\LIB\GRAPHICS.LIB+TRIP ' j3 B( q& w3 x7 I: y$ S! H C:\TC>TLINK C:\TC\LIB\GRAPHICS.LIB+LITT . R- L( w# z+ C T# V C:\TC>TLINK C:\TC\LIB\GRAPHICS.LIB+SANS+ N, J( Z, r% s( a. U3 O
C:\TC>TLINK C:\TC\LIB\GRAPHICS.LIB+GOTH</TD></TR></TABLE>) |1 [. p c, W0 Y/ y5 u J
<> 也可以使用TLIB、PRJ程序代替TLINK。 # k5 c2 U7 R& b" q ; T: ]( S9 G: q 3.在程序中调用initgraph()函数前,应加上如下语句:$ U7 R. P* G' T7 T( R
registerbgidriver(EGAVGA-driver);) B6 }0 \$ n0 L8 e" }$ x
+ ?, `& ]2 O) {3 l' K
它通知连接程序把EGAVGA驱动程序装入用户的执行程序中,同样在装入字体文件之前要加上如下语句:- ^+ h4 [, S) R8 ^- G5 Y
registerbgifont(字体文件名); - k0 @7 m' `3 a$ o) b6 U9 l/ v. N0 h% C& m, D0 e
4.通过上述处理后,编译连接后的执行程序就可以在任何目录下运行了。这时,将屏幕初始化为图形模式的函数可改写为: : _6 c+ m( R" {3 m3 `5 h8 V7 z</P>7 Y- F" G' M" N
<TABLE cellSpacing=0 cellPadding=0 width=600 bgColor=#ffffff border=0> ) k( p( v9 m9 M( q( E* [6 P3 o0 I! V3 E* G/ `7 M v7 Y+ o
<TR>) X' |& y( C: r/ ]5 C: Z
<TD> void InitGra(void)$ C, m4 |' A2 ^! d( o, ]! M
{int GD=DETECT,GM; % H# U, C4 Y+ D: s4 _ d registerbgidriver(EGAVGA_driver); 9 |; U: q- L; ^5 u' r8 h registerbgifont(triplex_font);9 h+ |) o# I1 w) N: Q$ I9 o
registerbgifont(small_font); ! z T9 ~5 H' o- z registerbgifont(sansserif_font); 2 _- _% A9 P B* ` registerbgifont(gothic_font);7 F* g+ p: C9 h; ] q, |; }
initgraph(&GD,&GM,""); 2 n7 a1 a9 Q6 }) K! u4 e }</TD></TR></TABLE> " U& U ?3 d+ P( O J3 j6 G<> 按照以上步骤,就能实现图形程序的独立运行</P>