| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 401 人关注过本帖
标题:C语言图形求助!
只看楼主 加入收藏
qqwwqqwwtc
Rank: 1
等 级:新手上路
帖 子:14
专家分:0
注 册:2010-6-6
结帖率:25%
收藏
已结贴  问题点数:10 回复次数:3 
C语言图形求助!
#include<graphics.h>
 main()
 {
        int gdriver,gmode;
        detectgraph(&gdriver,&gmode);
        printf("the graphics driver is %d,mode is %d\n",gdriver,gmode);
        getch();
        initgraph(&gdriver,&gmode,"");
        circle(200,200,50);
        closegraph();
 }
一运行程序,就显示出:
BGI Error:Graphics not initialized (use 'initgraph')
刚开始是在64位的windows7虚拟(XP)下运行,后来到朋友那里32位xp上也是这样,为什么?
搜索更多相关主题的帖子: 运行程序 朋友 windows7 include C语言 
2011-09-06 17:23
pauljames
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
等 级:千里冰封
威 望:9
帖 子:1555
专家分:10000
注 册:2011-5-8
收藏
得分:5 
百度上的答案

原来,在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中)   即可。

经常不在线不能及时回复短消息,如有c/单片机/运动控制/数据采集等方面的项目难题可加qq1921826084。
2011-09-07 06:32
qqwwqqwwtc
Rank: 1
等 级:新手上路
帖 子:14
专家分:0
注 册:2010-6-6
收藏
得分:0 
执行:BGIOBJ EGAVGA(把bgi转换成obj)
再执行:TLIB LIB\GRAPHICS.LIB+EGAVGA(加载到lib中) 即可。

以上两句我不懂,能说得具体些吗,谢谢了!
2011-09-07 08:54
h525330868
Rank: 2
等 级:论坛游民
帖 子:7
专家分:12
注 册:2011-9-7
收藏
得分:5 
我路过的
2011-09-07 09:13
快速回复:C语言图形求助!
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.037279 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved