本文地址: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 closegraph
void initgr(void) /* BGI初始化 */
{
int gd = DETECT, gm = ; /* 和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 ;
}

但是直接运行的话会提示错误:“未定义的符号     '_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 = ; /* 和gd = VGA,gm = VGAHI是同样效果 */
registerbgidriver(EGAVGA_driver); /*注册BGI驱动后可以不需要.BGI文件的支持运行 */
initgraph(&gd, &gm, "C:\\Win-TC\\BGI");
} int main(void)
{
initgr(); /* BGI初始化 */ /*****此部分添加你自己的代码,例如 */
line(, , , );
circle(, , );
/*等等*****/ getch(); /* 暂停一下,看看前面绘图代码的运行结果 */
closegr(); /* 恢复TEXT屏幕模式 */
return ;
}

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

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

win-tc图形库编程的更多相关文章

  1. Linux终端图形库编程

    /* *drawWin.c */ #include<stdio.h> #include<stdlib.h> #include<string.h> #include& ...

  2. win 7 processing 编程环境搭建

    1.下载processing安装包: 2.下载usb驱动: 3.安装processing; 4.安装驱动: 5.在processing中编写代码: // Visualizing the data fr ...

  3. C语言多线程编程

    HANDLE CreateThread(LPSECURITY_ATTRIBUTES lpThreadAttributes, DWORD dwStackSize, LPTHREAD_START_ROUT ...

  4. 传智播客C++

    轻松入门实战应用传智播客C++学院就业班第一阶段C提高课程 传智播客C提高讲义 传智扫地僧 1程序内存模型 1.1就业班引言 1.1.1问题引出 企业需要能干活的人  C学到什么程度可以找工作  ...

  5. C/C++预处理指令#define,#ifdef,#ifndef,#endif…

    2016年12月29日更新: 今天查看以前文件的时候, 突然发现了#error 这个预处理指令.然后回想一下工作, 发现这个指令使用场景还是很多的.比如: 一个项目的模块儿之多,源文件之大,代码之多, ...

  6. 可视化工具solo show-----Processing Prefuse show

    继上篇<可视化工具solo show>罗列出一些主要基于Java开发的软件.插件之后,又仔细揣摩了下哪些可以为我所用. 一番端详之后,准备挑出其中Processing和Prefuse两位大 ...

  7. 可视化工具solo show

    辗转一圈还是回到了我魂牵梦绕的可视化上来了. 在Gephi+Netbeans上折腾了将近一个星期后,我深深的体会到个人对于代码的驾驭能力尚有提升的空间^_^,路很长,方向很重要,三思而行. 转载请标明 ...

  8. .NET: WPF Template

    Data Template: 要做一个listBox,里面有车子的简单信息,点了里面的item后就会显示详细信息. car class: using System; using System.Coll ...

  9. C语言复习:编译

    C接口的封装和设计专题 Win32环境下动态链接库(DLL)编程原理   比较大的应用程序都由很多模块组成,这些模块分别完成相对独立的功能,它们彼此协作来完成整个软件系统的工作.其中可能存在一些模块的 ...

随机推荐

  1. 解决Eclipse报errors running builder ‘javascript validator’ on project

    导入jquery的js到项目中,Eclipse每次检测到功能代码变化(保存动作触发)就报错: errors running builder ‘javascript validator’ on proj ...

  2. DDD:Can I DDD?

    下面是<实现领域驱动>的作者给出的一段话: You can implement DDD if you have: A passion for creating excellent soft ...

  3. 如何自学Android--转

    原文地址:http://blog.csdn.net/lavor_zl/article/details/51217319 1. Java知识储备 本知识点不做重点讲解: 对于有基础的同学推荐看<J ...

  4. CSS3伪类和伪元素的特性和区别

    前端er们大都或多或少地接触过CSS伪类和伪元素,比如最常见的:focus,:hover以及<a>标签的:link.visited等,伪元素较常见的比如:before.:after等. 其 ...

  5. 【转载】uclibc和glibc的差别

    转载自:http://blog.163.com/huangnan0727@126/blog/static/30626184201042022011225/ CC的标准库,就是glibc这个库,里面有G ...

  6. 在ubuntu下创建wifi供移动端使用

    转自:http://jingyan.baidu.com/album/ea24bc39b03fc6da62b331f0.html?picindex=8 完全正确是流程 另外 还需要本机能够连上内网的vp ...

  7. 使用Eclipse调试PHP程序

    我安装的是PHP Version 5.3.26,按照网上提示在Eclipse中使用XDebug进行调试,不过配置了却使用不了,下面把解决方法简要说一下. XDebug老是加载不了 From PHP 5 ...

  8. 自定义JSTL标签和函数库

    一.自定义JSTL标签 1.编写标签处理类: (1)实现 SimpleTag 接口,通过 setJspContext()方法可以获取到 jspContext 对象,实际上也是 pageContext ...

  9. 0422 发现( 数学口袋精灵)bug

    团队博客地址: 甘佳萍:http://www.cnblogs.com/gjpg/ 李鹏飞:http://www.cnblogs.com/l549023320/ 赵创佳:http://www.cnblo ...

  10. maven异常解决:编码GBK的不可映射字符

    直接将项目改为UTF-8编码,无效!要通过修改pom.xml文件,告诉maven这个项目使用UTF-8来编译. 一.问题描述 今天在MyEclipse中使用Maven编译项目源代码时,结果如下了如下的 ...