<FONT size=3> C/C++语言提供了十分丰富的图形函数,图形函数文件为Graphics.h,使用图形函数前须先将屏幕设置为图形模式,C/C++语言提供了下面的函数: 2 Y* ?# D3 Y3 I0 {9 r void far initgraph(int far *GD,int far *GM,char *P);( I1 G1 t, J# A) o, W+ W
1 m/ `8 Q C! ^" u0 P$ p, U, ?& @ 其中,GD和GM分别表示图形驱动程序和图形模式,P指图形驱动程序所在的目录路径。' ^3 B) W& R T, ]
* ], b( T, `8 E7 O
图形驱动程序由Borland公司(对于Turbo C和Borland C++)提供,同时C/C++语言还提供了退出图形状态的函数closegraph(),格式为:- u- F2 B% d6 L3 g( `- L
void far closegraph(void); ( v- M {, {5 v 4 E" E4 d( y' f m 许你经常在用C/C++语言编写一些图形程序,但是总不能脱离C/C++语言环境独立运行,我们怎样来解决呢?下面是实现图形程序独立运行的具体步骤: 5 G d+ B) I, i/ R+ `- N' x" o4 V
1.将驱动程序EGAVGA.BGI转换成目标文件EGAVGA.OBJ: 6 {$ i4 G/ w9 W8 r: p, H( [ ~ C:\TC>BGIOBJ EGAVGA0 p$ x2 T- P4 R4 S1 Q% ?
q7 v- T6 q' k
按同样的办法,将字体文件*.CHR转换成目标文件*.OBJ:. y& |( |& y( {: f7 \" X, n, K
</FONT> 0 Z2 D5 v6 O$ b 7 D: n5 u3 {+ z) [* E 1 E9 F' a$ f4 G. h+ O1 |8 l<TABLE cellSpacing=0 cellPadding=0 width=600 bgColor=#ffffff border=0> + E7 S: J2 l) G, |( J: Q E, x, z2 X# {<TR>( y# ]6 c! R @5 r% U
<TD> C:\TC>BGIOBJ TRIP- k# \; d) A/ \2 l
C:\TC>BGIOBJ LITT - w; {# {4 N: ^ C:\TC>BGIOBJ SANS 0 l/ l/ c' ~5 W2 ]4 A5 x C:\TC>BGIOBJ GOTH</TD></TR></TABLE>3 i0 c4 R6 o d2 e3 G5 H7 d
<> 2.将上述建立的OBJ文件加入到GRAPHICS.LIB库文件中,具体方法如下:- M. h5 \% M# t" B
</P>3 S; c7 P+ c$ x% f+ a
<TABLE cellSpacing=0 cellPadding=0 width=600 bgColor=#ffffff border=0>- H0 q/ e/ X1 \' ]
& }9 c$ b7 x6 q* Y* k<TR> 0 ` f! m5 F8 W3 ?$ I! v/ c# y9 Y<TD> C:\TC>TLINK C:\TC\LIB\GRAPHICS.LIB+EGAVGA7 u" v6 B' @4 N7 {
C:\TC>TLINK C:\TC\LIB\GRAPHICS.LIB+TRIP # l. C. g" x* B$ t! B Z' |6 x C:\TC>TLINK C:\TC\LIB\GRAPHICS.LIB+LITT( Y3 i3 ^* |( s
C:\TC>TLINK C:\TC\LIB\GRAPHICS.LIB+SANS% d- h/ W$ S- M1 _0 Y9 Z
C:\TC>TLINK C:\TC\LIB\GRAPHICS.LIB+GOTH</TD></TR></TABLE> ' X6 u c. x- F0 V z; X. Y. i' j<> 也可以使用TLIB、PRJ程序代替TLINK。2 u+ ]3 x' g! A" y
5 B h( ?- B- @& Z4 j, b
3.在程序中调用initgraph()函数前,应加上如下语句: 0 ^0 A& {/ S, v registerbgidriver(EGAVGA-driver); 7 T" k* O# ~" M5 W, P# y+ Q9 ]: ^3 d& K# p T( }2 l$ l. |
它通知连接程序把EGAVGA驱动程序装入用户的执行程序中,同样在装入字体文件之前要加上如下语句:3 m0 Q9 A0 ?, o/ t% v+ ^+ S1 c* G7 k
registerbgifont(字体文件名);) t# ~3 J/ ]" T2 q$ D6 g5 l( Q: s
5 W0 S/ R7 Q* W
4.通过上述处理后,编译连接后的执行程序就可以在任何目录下运行了。这时,将屏幕初始化为图形模式的函数可改写为:, k4 w8 _( V' s% x3 H, m3 E0 i
</P> / k: i2 n* m$ M: G r0 C6 z<TABLE cellSpacing=0 cellPadding=0 width=600 bgColor=#ffffff border=0>$ I- k _9 @# ? M4 J7 _: {6 {
4 t* |2 W) P4 T# h<TR>- | |% O. u5 w, d3 h d; y
<TD> void InitGra(void) ) l S5 q0 r! ~ {int GD=DETECT,GM; 5 M% ]8 g& f+ a8 b/ c* B& o registerbgidriver(EGAVGA_driver);/ @7 f0 W2 S" {7 y: v e
registerbgifont(triplex_font);! F2 A* U8 n( V, x C' [3 B# |* G8 e! W3 Q
registerbgifont(small_font); $ c+ A8 H1 N1 P7 b S5 n registerbgifont(sansserif_font);9 L+ a$ a' r6 \. `) S v4 I8 P# M) T( ^
registerbgifont(gothic_font); 4 f5 d. [4 E$ r9 p: R/ b9 _) w9 p initgraph(&GD,&GM,""); * G* u. W, ~8 h' Y K }</TD></TR></TABLE> 2 d. U0 u, V3 u<> 按照以上步骤,就能实现图形程序的独立运行</P>