好学IT学院:IT信息技术分享交流平台
标签:C++  来源:本站整理  作者:佚名  发布时间:2008-10-20  ★★★加入收藏〗〖手机版
摘要:c/c++语言提供了十分丰富的图形函数,图形函数文件为graphics.h,使用图形函数前须先将屏幕设置为图形模式,c/c++语言提供了下面的函数:…

c/c++语言提供了十分丰富的图形函数,图形函数文件为graphics.h,使用图形函数前须先将屏幕设置为图形模式,c/c++语言提供了下面的函数:

void far initgraph(int far *gd,int far *gm,char *p);

其中,gd和gm分别表示图形驱动程序和图形模式,p指图形驱动程序所在的目录路径。

图形驱动程序由borland公司(对于turbo c和borland c++)提供,同时c/c++语言还提供了退出图形状态的函数closegraph(),格式为:

void far closegraph(void);

许你经常在用c/c++语言编写一些图形程序,但是总不能脱离c/c++语言环境独立运行,我们怎样来解决呢?下面是实现图形程序独立运行的具体步骤:

1.将驱动程序egavga.bgi转换成目标文件egavga.obj:

c:\\tc>bgiobj egavga

按同样的办法,将字体文件*.chr转换成目标文件*.obj:

c:\\tc>bgiobj trip

c:\\tc>bgiobj litt

c:\\tc>bgiobj sans

c:\\tc>bgiobj goth

2.将上述建立的obj文件加入到graphics.lib库文件中,具体方法如下:

c:\\tc>tlink c:\\tc\\lib\\graphics.lib+egavga

c:\\tc>tlink c:\\tc\\lib\\graphics.lib+trip

c:\\tc>tlink c:\\tc\\lib\\graphics.lib+litt

c:\\tc>tlink c:\\tc\\lib\\graphics.lib+sans

c:\\tc>tlink c:\\tc\\lib\\graphics.lib+goth

也可以使用tlib、prj程序代替tlink。

3.在程序中调用initgraph()函数前,应加上如下语句:

registerbgidriver(egavga-driver);

它通知连接程序把egavga驱动程序装入用户的执行程序中,同样在装入字体文件之前要加上如下语句:
  registerbgifont(字体文件名);

4.通过上述处理后,编译连接后的执行程序就可以在任何目录下运行了。这时,将屏幕初始化为图形模式的函数可改写为:
    void initgra(void)
  {int gd=detect,gm;
  registerbgidriver(egavga_driver);
  registerbgifont(triplex_font);
  registerbgifont(small_font);
  registerbgifont(sansserif_font);
  registerbgifont(gothic_font);
  initgraph(&gd,&gm,\"\");
  }

按照以上步骤,就能实现图形程序的独立运行