| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1881 人关注过本帖
标题:初学图形编程问题
只看楼主 加入收藏
bihu
Rank: 1
等 级:新手上路
帖 子:1
专家分:0
注 册:2007-8-4
收藏
 问题点数:0 回复次数:7 
初学图形编程问题
#include<stdio.h>
#include<graphics.h>
main()
{
int a=DETECT,g;
initgraph(&a,&g,"C:\Program Files\WINYES\TC20H");
circle(200,100,50);
closegraph();
}
编译后运行时候出现了
BGI Error:Graphics not initialized(use'initgraph' )
环境是TC2.0,xp下
搜索更多相关主题的帖子: 图形 初学 
2007-08-04 21:04
hjj1123
Rank: 1
等 级:新手上路
帖 子:198
专家分:0
注 册:2006-7-29
收藏
得分:0 

建议你把论坛里所有帖子看一遍在提问。


qq:674940174
2007-08-05 09:15
卧龙孔明
Rank: 9Rank: 9Rank: 9
等 级:贵宾
威 望:59
帖 子:3872
专家分:684
注 册:2006-10-13
收藏
得分:0 
回复:(bihu)初学图形编程问题

看看这个

p1Xa4Sa6.rar (116.74 KB) 初学图形编程问题



My Blog: www.aiexp.info
虽然我的路是从这里开始的,但是这里不再是乐土.感谢曾经影响过,引导过,帮助过我的董凯,飞燕,leeco,starwing,Rockcarry,soft_wind等等等等.别了,BCCN.
2007-08-05 10:52
勇勇
Rank: 1
等 级:新手上路
帖 子:7
专家分:0
注 册:2007-9-4
收藏
得分:0 
我也想学但是不知道怎么学啊!
2007-09-05 09:43
neverTheSame
Rank: 3Rank: 3
来 自:江西农业大学
等 级:新手上路
威 望:9
帖 子:1511
专家分:0
注 册:2006-11-24
收藏
得分:0 
我建议:先熟悉TC2.0图形编程环境,然后,了角一些重要的绘图函数,然后,自己编一些小的图形程序,
然后,编大一点的程序,最后...

wap酷禾网(http://wap.),提供免费的、优质的、快捷的wap资源下载服务。
2007-09-07 23:47
yesmimiwei
Rank: 2
等 级:论坛游民
帖 子:3
专家分:20
注 册:2010-1-16
收藏
得分:0 

● 提示 BGI Error

用TC写BGI图形编程的代码时,最容易出现 BGI Error 的问题,例如在屏幕上提示这样一行字: Graphics not initialized (use 'initgraph') 然后程序就退出了。在WIN98下这行字能够看到,但是在WIN2000或WINXP下就闪一下这行字(实际上这行字在WIN2K或XP下会显示出来的,只不过时间太短了你看不到罢了)直接退出了。这行字是什么意思呢?从字面上理解,就是没有initgraph啊?但是程序的代码里面确实是写了initgraph啊?这样的出错提示,的确让很多编程者摸不着头脑。实际上,它的问题并不出在没有使用initgraph上,是你没有使用正确的路径。

TC BGI提供了一个graphics.h,一个graphics.lib,一堆.bgi文件和一个bgiobj.exe。就当前问题来说,是.bgi导致了你的错误出现。例如最常见的

  int gd=VGA,gm=VGAHI;
  initgraph(&gd,&gm,"c:\tc20");

来说,它的意思是initgraph使用gd为bgi驱动包,该驱动包里使用gm的屏幕模式初始化,最后一个参数就是该bgi驱动包的位置。例如上面的代码,就是说使用VGA模式(该模式驱动包含于egavga.bgi),使用其中的VGAHI方式(640*480 16 color)初始化屏幕,该驱动包位于"c:\tc20"目录下。你会问如果egavga.bgi不在"c:\tc20"下呢?那么 Graphics not initialized (use 'initgraph') 的问题就出现啦!

但是指定bgi路径总不太好,不可能每个人的电脑上都在"c:\tc20"下有你需要的bgi文件。把bgi文件拷贝到你指定的路径如"c:\tc20"下也显得太麻烦。有没有好的解决方法呢?有,下面就是两种通常的解决方法:

方法一:

使用相对路径。相对路径你也许不知道,在次也不必来龙去脉把相对路径的使用说得特别清楚。简单地说,就是initgraph的最后一个字符串使用空"",然后生成的EXE,将自动在同级目录下找对应的bgi来运行。就上一个程序打个比方,把它最后一个字符串写成空串"",如:

  int gd=VGA,gm=VGAHI;
  initgraph(&gd,&gm,"");

这样一来,只要程序目录下有egavga.bgi,就可以运行。如果你是在c:\tc20下的TC集成环境里运行的,那么只需要把egavga.bgi拷贝到c:\tc20下即可。如果你又把你所生成的EXE文件拷贝到桌面上,也只需要把egavga.bgi拷贝到桌面上你的程序即可运行啦。总之一句话:使用这种方法,须保证你EXE使用的bgi文件与你生成的EXE文件同目录。

方法二:

更方便的是,WIN-TC提供了模板的功能,其中的一个就是“BGI图形编程模板”。使用该模板生成的EXE,如果是用ega或vga模式的话,连.bgi文件都可以不需要来直接运行你的EXE啦,也就是说,如果你要把你的BGI图形EXE程序让别人去运行,即使是没有装TC的电脑上,也只需要一个EXE就能成功初始化BGI了,是不是很方便啊?
2010-01-16 21:37
快速回复:初学图形编程问题
数据加载中...
 
   



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

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