zoukankan      html  css  js  c++  java
  • 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 = 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-TCBGI”,将上面代码中的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哈哈~

  • 相关阅读:
    问卷调查--来自20145320周岐浩
    第一次尝试编写java
    写在开始编写Java之前(2)——Java的环境
    写在开始编写Java之前(1)——Java的跨平台性
    一步一步实现JS拖拽插件
    序列图像三维重建 学习流水账
    linux配置虚拟机网络环境(老师要求的host-only)
    递归函数时间复杂度分析(转)
    什么是static?什么是final?
    复习java数据库操作的总结
  • 原文地址:https://www.cnblogs.com/wuyudong/p/win-tc-graphics-use.html
Copyright © 2011-2022 走看看