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 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图形库编程的更多相关文章
- Linux终端图形库编程
/* *drawWin.c */ #include<stdio.h> #include<stdlib.h> #include<string.h> #include& ...
- win 7 processing 编程环境搭建
1.下载processing安装包: 2.下载usb驱动: 3.安装processing; 4.安装驱动: 5.在processing中编写代码: // Visualizing the data fr ...
- C语言多线程编程
HANDLE CreateThread(LPSECURITY_ATTRIBUTES lpThreadAttributes, DWORD dwStackSize, LPTHREAD_START_ROUT ...
- 传智播客C++
轻松入门实战应用传智播客C++学院就业班第一阶段C提高课程 传智播客C提高讲义 传智扫地僧 1程序内存模型 1.1就业班引言 1.1.1问题引出 企业需要能干活的人 C学到什么程度可以找工作 ...
- C/C++预处理指令#define,#ifdef,#ifndef,#endif…
2016年12月29日更新: 今天查看以前文件的时候, 突然发现了#error 这个预处理指令.然后回想一下工作, 发现这个指令使用场景还是很多的.比如: 一个项目的模块儿之多,源文件之大,代码之多, ...
- 可视化工具solo show-----Processing Prefuse show
继上篇<可视化工具solo show>罗列出一些主要基于Java开发的软件.插件之后,又仔细揣摩了下哪些可以为我所用. 一番端详之后,准备挑出其中Processing和Prefuse两位大 ...
- 可视化工具solo show
辗转一圈还是回到了我魂牵梦绕的可视化上来了. 在Gephi+Netbeans上折腾了将近一个星期后,我深深的体会到个人对于代码的驾驭能力尚有提升的空间^_^,路很长,方向很重要,三思而行. 转载请标明 ...
- .NET: WPF Template
Data Template: 要做一个listBox,里面有车子的简单信息,点了里面的item后就会显示详细信息. car class: using System; using System.Coll ...
- C语言复习:编译
C接口的封装和设计专题 Win32环境下动态链接库(DLL)编程原理 比较大的应用程序都由很多模块组成,这些模块分别完成相对独立的功能,它们彼此协作来完成整个软件系统的工作.其中可能存在一些模块的 ...
随机推荐
- SQL 解锁表
http://www.cnblogs.com/chjf2008/archive/2012/11/21/2780787.html 最主要是找到最近使用工具或者应用连接过数据库的进程,关掉它就可以了.
- java攻城狮之路(Android篇)--Activity生命
一:Activity的激活 1.写一个类 extends Activity Activity是android的四大组件之一.Activity的激活分为显式意图激活和隐式意图激活.如果一个activit ...
- java攻城狮之路(Android篇)--ListView与ContentProvider
一.ListView 1.三种Adapter构建ListView ListView添加条目的时候, 可以使用setAdapter(ListAdapter)方法, 常用的ListAdapter有三种 B ...
- 【原创】14. MYSQL++之SSQLS(原理解析)
从之前所介绍的SSQLS的介绍中我们可以感受到,SSQLS的精髓应该在sql_create_#这个宏,他所创建出来的这个结构体将会是突破的关键,所以我将会从以下顺序入手. 1. sql_create_ ...
- ActionBarSherlock SlidingMenu整合,解决SlidingMenu example的getSupportActionBar()方法不能用问题
今天下载了SlidingMenu来研究,发现里面那个自带的example不能使用,总是提示BaseActivity 里面找不到getSupportActionBar()方法,到Github上面一查果然 ...
- java中Finally块的执行
在try{}catch{}finally{}块中,都知道finally子块是肯定会执行的.当然也有个别情况,当在try{}或者catch{}块中出现强制退出System.exti(int)时,fina ...
- html5 自定义数据属性 ,也就是 data-* 自定义属性---笔记。
html5 自定义数据属性 ,也就是 data-* 自定义属性. 例如 <div data-last-value="43" data-hidden="true& ...
- 剑指架构师系列-Struts2构造函数的循环依赖注入
Struts2可以完成构造函数的循环依赖注入,来看看Struts2的大师们是怎么做到的吧! 首先定义IBlood与BloodImpl类: public interface IBlood { } pub ...
- 利用PS自动切图、支持svg且支持icoMoon——再也不用四处去转格式了
今天想导出svg格式的图片支持webFont,结果AI打不开了,文件好像损坏了,于是就想办法在PS里面导出. 网上搜索到一篇文章,腾讯的 http://isux.tencent.com/ps-phot ...
- coding代码仓库的配置和代码上传
1.生成ssh 在桌面右键,选择Git Bash Here,进入操作界面,输入“ssh-keygen -t rsa -b 4096 -c "xxxxxxxx@xxx.com(自己注册时绑定的 ...