用C语言画图,出现的错误是BGI error:Graphics not initialized(use 'i...
发布网友
发布时间:2024-09-25 20:35
我来回答
共1个回答
热心网友
时间:2024-10-04 19:45
用TC运行程序时,产生错误 BGI Error:Graphics not initialized (use 'initgraph')?这是怎么回事呢?
原来,在TC使用图形编程时,需要用BGI图形开发包,正因为我们在编译连接的时候没有将这个图形驱动包含进去,所以无法执行.
把图形驱动包含进去,有两种方法:
1 我们在使用initgraph()时,发现他有三个参数,第三个参数正是对图形驱动的调用路径. 即你要指明EGAVGA . BGI(或者其他图形驱动如,SVGA.BGI)所在的位置。如果你使用的是win-tc的话,会发现它提供了第三方的图形驱动包。
2 或者我们在initgraph()调用之前我们调用 registerbgidriver(EGAVGA_driver);这样就自动加载了驱动程序。有一点要注意:在使用这个功能之前,必须确保EGAVGA.BGI已经加载在graphics.lib之中。(如果前面的问题已经解决就说明已经加载了)如果没有加载,如要按照以下的方法进行加载。
在TC下找到BGIOBJ.exe这个程序,并找到EGAVGA.BGI这个文件,把EGAVGA.BGI这个文件复制到与BGIOBJ.exe同一目录下,
执行:BGIOBJ EGAVGA(把bgi转换成obj)
再执行:TLIB LIB\GRAPHICS.LIB+EGAVGA(加载到lib中) 即可。
热心网友
时间:2024-10-04 19:48
用TC运行程序时,产生错误 BGI Error:Graphics not initialized (use 'initgraph')?这是怎么回事呢?
原来,在TC使用图形编程时,需要用BGI图形开发包,正因为我们在编译连接的时候没有将这个图形驱动包含进去,所以无法执行.
把图形驱动包含进去,有两种方法:
1 我们在使用initgraph()时,发现他有三个参数,第三个参数正是对图形驱动的调用路径. 即你要指明EGAVGA . BGI(或者其他图形驱动如,SVGA.BGI)所在的位置。如果你使用的是win-tc的话,会发现它提供了第三方的图形驱动包。
2 或者我们在initgraph()调用之前我们调用 registerbgidriver(EGAVGA_driver);这样就自动加载了驱动程序。有一点要注意:在使用这个功能之前,必须确保EGAVGA.BGI已经加载在graphics.lib之中。(如果前面的问题已经解决就说明已经加载了)如果没有加载,如要按照以下的方法进行加载。
在TC下找到BGIOBJ.exe这个程序,并找到EGAVGA.BGI这个文件,把EGAVGA.BGI这个文件复制到与BGIOBJ.exe同一目录下,
执行:BGIOBJ EGAVGA(把bgi转换成obj)
再执行:TLIB LIB\GRAPHICS.LIB+EGAVGA(加载到lib中) 即可。