社区
C语言
帖子详情
C语言图形下编程问题(50分)
tc001
2002-09-12 11:10:24
C语言图形下编程问题:
BGI Error:Graphics not initialized (use 'initgraph')
我该怎么办?
...全文
22
8
打赏
收藏
C语言图形下编程问题(50分)
C语言图形下编程问题: BGI Error:Graphics not initialized (use 'initgraph') 我该怎么办?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
8 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
sjf331
2002-09-13
打赏
举报
回复
tc的一个option_>link->lib->graphics library设成true
dsangvei
2002-09-13
打赏
举报
回复
楼上的实在太详细了,让我只有说同意了。
zm_speed
2002-09-13
打赏
举报
回复
大家知道,C/C++语言提供了十分丰富的图形函数,图形函数文件为Graphics.h,使用图形函数前须 先将屏幕设置为图形模式, C/C++语言提供了下面的函数:
void far initgraph(int far *GD,int far * GM,char *P);
其中,GD和GM分别表示图形驱动程序和图形模式, P指图形驱动程序所在的目录路径。
图形驱动程序由Borland公司(对于Turbo C和Bor land C++)提供,同时C/C++语言还提供了退出图形状 态的函数closegraph(),格式为:
void far closegraph(void);
也许你经常在用C/C++语言编写一些图形程序,但是总不能脱离 C/C++语言环境独立运行,我们怎样 来解决呢 ?
能否建立一个不需要驱动程序和字体文件也能独立运行的图形程序呢 ? 笔者经过实践,得到了肯定的答案 ,下面是实现图形程序独立运行的具体步骤:
1?将驱动程序EGAVGA.BGI转换成目标文件EGAVGA.OBJ:
D:\BC\BGI>BGIOBJ EGAVGA
按同样的办法,将字体文件*.CHR转换成目标文件*.OBJ:
D:\BC\BGI>BGIOBJ TRIP
D:\BC\BGI>BGIOBJ LITT
D:\BC\BGI>BGIOBJ SANS
D:\BC\BGI>BGIOBJ GOTH
2?将上述建立的OBJ文件加入到GRAPHICS.LIB 库文件中,具体方法如下:
D:\BC\BGI>TLINK D:\BC\LIB\GRAPHICS.LIB+E GAVGA
D:\BC\BGI>TLINK D:\BC\LIB\GRAPHICS.LIB+T RIP
D:\BC\BGI>TLINK D:\BC\LIB\GRAPHICS.LIB+L ITT
D:\BC\BGI>TLINK D:\BC\LIB\GRAPHICS.LIB+S ANS
D:\BC\BGI>TLINK D:\BC\LIB\GRAPHICS.LIB+G OTH
也可以使用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,″″);
}
按照以上步骤,就能实现图形程序的独立运行,笔者在 Turbo C2.0、Borland C++2.0、Borland C+ +3.1下均运行通过。
kingofvc
2002-09-13
打赏
举报
回复
只要把bgi文件(*.bgi)拷贝到程序执行目录即可
pi1ot
2002-09-13
打赏
举报
回复
怎么都在学DOS下的玩意,怀旧嘛?
flyer_2001
2002-09-13
打赏
举报
回复
bgiobj evavga
tlib c:\tc2\lib\graphics.lib+egavga.obj
#include "graphics.h"
void main()
{
int gDriver=DETECT,gmode;
registerbgidriver(EGAVGA_driver);
initgraph(&gDriver,gmode,"");
...
closegraph();
}
分...
ivox
2002-09-12
打赏
举报
回复
你没对图形进行初始化
#include"graphics.h"
main()
{
int driver,mode=0;
driver=DETECT;
initgraph(&driver,&mode,"");
.
.
.
closegraph();
}
如还有问题则可能是你的输出文件的所在文件夹中无EGAVGA.BGI文件,
你可以在tc目录中找到。
xvdp
2002-09-12
打赏
举报
回复
initgraph最后一个参数要把BGI的绝对路径写上才行,例如:f:\\bc31\\bgi\\
要注意是双\哦!
c
语言
图形
编程
教程c
语言
图形
编程
教程
c
语言
图形
编程
教程c
语言
图形
编程
教程c
语言
图形
编程
教程c
语言
图形
编程
教程c
语言
图形
编程
教程c
语言
图形
编程
教程
C
语言
图形
图像
编程
精讲,很好的
C
语言
图形
图像
编程
精讲,很好的C
语言
图形
图像
编程
精讲,很好的C
语言
图形
图像
编程
精讲,很好的C
语言
图形
图像
编程
精讲,很好的C
语言
图形
图像
编程
精讲,很好的C
语言
图形
图像
编程
精讲,很好的C
语言
图形
图像
编程
精讲,很好的C
语言
图形
图像
编程
精讲,很好的C
语言
图形
图像
编程
精讲,很好的C
语言
图形
图像
编程
精讲,很好的C
语言
图形
图像
编程
精讲,很好的C
语言
图形
图像
编程
精讲,很好的
C
语言
基础
一、C
语言
自我YY1)、C
语言
是许多高级计算机
语言
的基础,学好C
语言
能更好的学习其他高级
语言
,为以后的学习打基础;往深学C
语言
的话那就是学到C在Linux里的应用,Linux十分强大。2)、C
语言
是一种计算机程序设计
语言
。具有高级
语言
的特点,又具有汇编
语言
的特点。C
语言
可作为工作系统设计
语言
,编写系统应用程序,也可以作为应用程序设计
语言
,编写不依赖计算机硬件的应用程序。3)、应用范围广泛,具备很强的数据处理能力,不仅仅是在软件开发上,而且各类科研都需要用到C
语言
,适于编写系统软件,三维,二维
图形
和动画。具体应用比如单片机以及嵌入式系统开发。4)、C
语言
是面向过程
语言
,C
语言
通过windows/linux平台下编译的,是直接运行在windows/linux平台下的,而XX始终是运行在他的虚拟机之上的;所以理论上C
语言
能做一些相对于比较底层的工作,像XX就不能编写Windows病毒。5)、如果要利用
编程
来做一些windows优化工作的话,建议还是利用C
语言
。C
语言
是目前世界上流行、使用最广泛的高级程序设计
语言
6、很多编译器,几乎所有操作系统Windows,Linux,Unix的大部分代码都是C,C在背后做了很多东西的,也许开发游戏用C++,安卓用XX更为合适,
图形
界面的用其他
语言
开发效率更高一些(因为他们封装了很多东西),但同样的原因导致略微接近底层的功能其他
语言
根本干不了!Windows的API都是按照C
语言
的格式给的,这也很能说明
问题
!嵌入式开发更是离不了C
语言
!纵观电脑发展几十年,C语无所不能呀!
C
语言
图形
编程
(非常详细)
C
语言
图形
编程
C
语言
图形
编程
C
语言
图形
编程
C
语言
图形
编程
C
语言
图形
编程
技术 C
语言
图形
编程
技术
C
语言
图形
编程
技术C
语言
图形
编程
技术C
语言
图形
编程
技术C
语言
图形
编程
技术C
语言
图形
编程
技术
C语言
69,382
社区成员
243,073
社区内容
发帖
与我相关
我的任务
C语言
C语言相关问题讨论
复制链接
扫一扫
分享
社区描述
C语言相关问题讨论
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章