首页 > 代码库 > win-tc图形库编程

win-tc图形库编程

本文地址:http://www.cnblogs.com/archimedes/p/win-tc-graphics-use.html,转载请注明源地址。

由于最近接到一个紧急任务,需要实现一个程序,显示一些分形几何中的图形,例如:Koch曲线

感觉java的swing的界面太繁琐,好吧,是我不熟。于是打算用C语言来实现,但是又不想太麻烦,于是想到了win-tc(还是在虚拟机里面直接装一个xp系统,网上各种win7 64位的版本最后证明都不靠谱),下载win-tc 2.0后直接运行,win-tc自带有很多的模板可以方便的使用,如下图:

直接选择"BGI图形编程模板",自动填充代码框架,如下图:

代码如下:

/* WIN-TC BGI 图形编程模板 */#include "Conio.h"#include "graphics.h"#define closegr closegraphvoid initgr(void) /* BGI初始化 */{  int gd = DETECT, gm = 0; /* 和gd = VGA,gm = VGAHI是同样效果 */  registerbgidriver(EGAVGA_driver);/* 注册BGI驱动后可以不需要.BGI文件的支持运行 */  initgraph(&gd, &gm, "");}int main(void){  initgr(); /* BGI初始化 */  /*****此部分添加你自己的代码,例如  line(25, 25, 220, 220);  circle(100, 100, 50);  等等*****/  getch(); /* 暂停一下,看看前面绘图代码的运行结果 */  closegr(); /* 恢复TEXT屏幕模式 */  return 0;}

但是直接运行的话会提示错误:“未定义的符号     ‘_EGAVGA_driver‘ 在模块    test2.c

如果把这一行的代码注释掉,编译通过,运行过控制台一闪而过,代码后面加各种"getch()"……之类的办法都没有用,其实问题出在前面,因为没有找到图形驱动,程序直接退出了,getch 根本没有执行。

在网上找了很久,要么答案不正确,要么太繁琐,折腾了一会找到了解决办法。

找到EGAVGA.BGI文件的目录“C:\Win-TC\BGI”,将上面代码中的initgraph(&gd, &gm, ""); 添加路径即可:

initgraph(&gd, &gm, "C:\\Win-TC\\BGI");

完整代码如下:

/* WIN-TC BGI 图形编程模板 */#include "Conio.h"#include "graphics.h"#define closegr closegraphvoid initgr(void) /* BGI初始化 */{  int gd = DETECT, gm = 0; /* 和gd = VGA,gm = VGAHI是同样效果 */  registerbgidriver(EGAVGA_driver); /*注册BGI驱动后可以不需要.BGI文件的支持运行 */  initgraph(&gd, &gm, "C:\\Win-TC\\BGI");}int main(void){  initgr(); /* BGI初始化 */  /*****此部分添加你自己的代码,例如 */  line(25, 25, 220, 220);  circle(100, 100, 50);  /*等等*****/  getch(); /* 暂停一下,看看前面绘图代码的运行结果 */  closegr(); /* 恢复TEXT屏幕模式 */  return 0;}

第一次运行需要注册BGI驱动,以后运行不需要“registerbgidriver(EGAVGA_driver);“ 这行代码

配置完编程环境以后,下面的工作就是编程实现啦! O(∩_∩)O哈哈~

win-tc图形库编程