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 ...
相关文章
- 【网络编程2】网络编程基础-发送ICMP包(Ping程序)
- Spark修炼之道(进阶篇)——Spark入门到精通:第四节 Spark编程模型(一)
- ABAP初学者如何系统地学习ABAP编程?
- Java学习路线-28:JavaIO编程案例
- Python编程:几个基于Django的CMS内容管理系统
- Java:从编程语言到编程思想
- 【Groovy】MOP 元对象协议与元编程 ( 使用 Groovy 元编程进行函数拦截 | 通过 MetaClass#invokeMethod 方法调用类其它方法 )
- SRv6网络编程自学系列 | ALL IP 1.0的开始:IP的全面胜利
- Go语言自学系列 | golang并发编程之select switch
- 387集Go语言核心编程培训视频教材整理 | 函数、包和错误处理(一)
- LabVIEW编程LabVIEW开发Memmert oven温箱例程与相关资料
- LabVIEW编程LabVIEW开发WIFI03无线通信模块例程与相关资料
- 全员编程的时代,还要不要继续走『码农』这条路?
- C# 异步编程
- 转载:大厂5G python自动化测试面试必会 | 匿名函数lambda & 递归函数 & 函数属性和注解 & 函数式编程工具
- Python的学习心得和知识总结(十二)|Python图形用户接口编程(Graphical User Interface编程 一)