TC 3.0下如何使用graphics.h画图头文件

时间:2022-11-12 18:55:46

安装tc3.0成功后,默认情况下Graphic.h头文件是没有被启用的,所以必须在Option/linker选项下的Graphics libraries选中

 

EGAVGA驱动程序没有被装入到GRAPHICS.LIB库文件中,在运行程序的时候会造成一些问题,比如:程序连接时出现EGAVGA_driver没有被定义的错误。解决方法如下:用BGIOBJ 命令将驱动程序EGAVGA.BGI 转换成EGAVGA.OBJ 的目标文件。用TLIB 命令将EGAVGA.OBJ 的目标文件模块装到GRAPHICS.LIB 库文件中。我的TC是安装在D盘根目录下的,具体过程如下:

D:/TC/BGI>bgiobj egavga
BGI to OBJ Converter  Version 3.0  Copyright (c) 1987, 1990 Borland International

5554 bytes from 'EGAVGA.BGI' converted into 'EGAVGA.OBJ',
public name = '_EGAVGA_driver'.

D:/TC/BGI>tlib ../lib/graphics.lib+egavga
TLIB 3.02 Copyright (c) 1991 Borland International

D:/TC/BGI>

 

这样之后可以使用图形函数和EGAVGA_driver

 

/*********************************************************************/

 独立图形运行程序的建立    
          Turbo   C对于用initgraph()函数直接进行的图形初始化程序,   在编译和链接    
  时并没有将相应的驱动程序(*.BGI)装入到执行程序,   当程序进行到intitgraph()    
  语句时,   再从该函数中第三个形式参数char   *path中所规定的路径中去找相应的    
  驱动程序。若没有驱动程序,   则在C:/TC中去找,   如C:/TC中仍没有或TC不存在,    
  将会出现错误:    
            BGI   Error:   Graphics   not   initialized   (use   'initgraph')    
          因此,   为了使用方便,   应该建立一个不需要驱动程序就能独立运行的可执行    
  图形程序,Turbo   C中规定用下述步骤(这里以EGA、VGA显示器为例):    
          1.   在C:/TC子目录下输入命令:BGIOBJ   EGAVGA    
          此命令将驱动程序EGAVGA.BGI转换成EGAVGA.OBJ的目标文件。    
          2.   在C:/TC子目录下输入命令:TLIB   LIB/GRAPHICS.LIB+EGAVGA    
          此命令的意思是将EGAVGA.OBJ的目标模块装到GRAPHICS.LIB库文件中。    
          3.   在程序中initgraph()函数调用之前加上一句:    
                registerbgidriver(EGAVGA_driver):    
  该函数告诉连接程序在连接时把EGAVGA的驱动程序装入到用户的执行程序中。    
          经过上面处理,编译链接后的执行程序可在任何目录或其它兼容机上运行。    
  假设已作了前两个步骤,若再向例6中加   registerbgidriver()函数则变成:    
          例7:    
            #include<stdio.h>    
            #include<graphics.h>    
            int   main()    
            {    
                    int   gdriver=DETECT,gmode;    
                    registerbgidriver(EGAVGA_driver):     /   *建立独立图形运行程序   */    
                    initgraph(   gdriver,   gmode,"c://tc");    
                    bar3d(50,50,250,150,20,1);    
                    getch();    
                    closegraph();    
                    return   0;    
            }    
          上例编译链接后产生的执行程序可独立运行。    
          如不初始化成EGA或CGA分辨率,   而想初始化为CGA分辨率,     则只需要将上述    
  步骤中有EGAVGA的地方用CGA代替即可。    
/************************************************************************/

TC3.0全屏窗口切换快捷键  ALT+ENTER