zl程序教程

您现在的位置是:首页 >  后端

当前栏目

win-tc图形库编程

编程 win TC
2023-09-14 08:58:00 时间

由于最近接到一个紧急任务,需要实现一个程序,显示一些分形几何中的图形,例如: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 closegraph

void 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 closegraph

void 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哈哈~


GUI 编程 图形用户界面(Graphical User Interface,简称 GUI,又称图形用户接口)是指采用图形方式显示的计算机操作用户界面。
带你读《小创客趣玩micro bit开发板编程》之二:JavaScript Blocks 图形编程 本书从 micro:bit介绍、micro:bit开发方式、Makecode图形化编程和创意编程案例实践4个维度带领大家逐步理解和学习 micro:bit的使用方法。
Win32 API背景故事/背景知识 The Win32 application programming interface (API) provides building blocks used by ...