版权声明:本文为博主原创文章,未经博主允许不得转载。

  graphics.h是TC里面的图形库,如果要用的话应该用TC来编译。分为:像素函数、直线和线型函数、多边形函数、填充函数等。然而在我们使用的编译器vc6.0和visual studio 2013编译器中是不支持graphics.h图形库的,当然vc6.0和visual studio 2013编译器也自带了微软的图形库API(也叫Windows API,它的函数基本上包含在了windows.h的头文件中),那么如果我们要在vc6.0和visual studio 2013中使用graphics图形库怎么办?我们有两种解决的方法。

  第一种:首先我们下载一个TC编译器安装,然后在的安装目录下面找到include文件夹和lib文件夹,再将其中的graphics图形绘制的.h文件和.lib文件复制粘贴到我们的VC6.0和visual studio 2013对应的文件夹下面去。(这个方法比较的麻烦)

  第二种:下载EasyX来添加graphics.h图形库。

  首先下载好EasyX,下载网址:http://www.easyx.cn/downloads/。在下面红框中随便选择下载一个,我下载的是EasyX_2014冬至版

  

  下载好后,将压缩包解压。我们就会在解压后的文件夹中看到有关graphics图形库相关的lib和include文件夹。

  

  然后,再将上面lib文件夹和include文件夹下面的内容复制到你的vc和visual studio 2013安装目录的对应的lib和include的文件夹的下面即可。(我这里以vc6.0为例)如下图操作:include和lib文件夹在安装目录的...\Microsoft Visual Studio\VC98\Include(or lib)

  

   

  复制好之后,那么在vc6.0下配置的graphics图形库就已经配置成功了。下面我们通过一个例子来验证下(这里直接使用EasyX帮助文档中的实例进行测试)。

  

  1. #include <graphics.h> // 就是需要引用这个图形库
  2. #include <conio.h>
  3. void main()
  4. {
  5. initgraph(, ); // 这里和 TC 略有区别
  6. circle(, , ); // 画圆,圆心(200, 200),半径 100
  7. getch(); // 按任意键继续
  8. closegraph(); // 关闭图形界面
  9. }

圆的实例源码

  

  1. // 编译环境:Visual C++ 6.0,EasyX 2014冬至版
  2. // http://www.easyx.cn
  3. //
  4. #include <graphics.h>
  5. #include <time.h>
  6. #include <conio.h>
  7.  
  8. #define MAXSTAR 200 // 星星总数
  9.  
  10. struct STAR
  11. {
  12. double x;
  13. int y;
  14. double step;
  15. int color;
  16. };
  17.  
  18. STAR star[MAXSTAR];
  19.  
  20. // 初始化星星
  21. void InitStar(int i)
  22. {
  23. star[i].x = ;
  24. star[i].y = rand() % ;
  25. star[i].step = (rand() % ) / 1000.0 + ;
  26. star[i].color = (int)(star[i].step * / 6.0 + 0.5); // 速度越快,颜色越亮
  27. star[i].color = RGB(star[i].color, star[i].color, star[i].color);
  28. }
  29.  
  30. // 移动星星
  31. void MoveStar(int i)
  32. {
  33. // 擦掉原来的星星
  34. putpixel((int)star[i].x, star[i].y, );
  35.  
  36. // 计算新位置
  37. star[i].x += star[i].step;
  38. if (star[i].x > ) InitStar(i);
  39.  
  40. // 画新星星
  41. putpixel((int)star[i].x, star[i].y, star[i].color);
  42. }
  43.  
  44. // 主函数
  45. void main()
  46. {
  47. srand((unsigned)time(NULL)); // 随机种子
  48. initgraph(, ); // 创建绘图窗口
  49.  
  50. // 初始化所有星星
  51. for(int i = ; i < MAXSTAR; i++)
  52. {
  53. InitStar(i);
  54. star[i].x = rand() % ;
  55. }
  56.  
  57. // 绘制星空,按任意键退出
  58. while(!kbhit())
  59. {
  60. for(int i = ; i < MAXSTAR; i++)
  61. MoveStar(i);
  62. Sleep();
  63. }
  64.  
  65. closegraph(); // 关闭绘图窗口
  66. }

星空实例源码

  

  1. // 编译环境:Visual C++ 6.0,EasyX 2014冬至版
  2. // http://www.easyx.cn
  3. //
  4. #include <graphics.h>
  5. #include <conio.h>
  6.  
  7. void main()
  8. {
  9. // 创建绘图窗口
  10. initgraph(, );
  11.  
  12. // 画渐变的天空(通过亮度逐渐增加)
  13. float H = ; // 色相
  14. float S = ; // 饱和度
  15. float L = 0.7f; // 亮度
  16. for(int y = ; y < ; y++)
  17. {
  18. L += 0.0005f;
  19. setlinecolor( HSLtoRGB(H, S, L) );
  20. line(, y, , y);
  21. }
  22.  
  23. // 画彩虹(通过色相逐渐增加)
  24. H = ;
  25. S = ;
  26. L = 0.5f;
  27. setlinestyle(PS_SOLID, ); // 设置线宽为 2
  28. for(int r = ; r > ; r--)
  29. {
  30. H += ;
  31. setlinecolor( HSLtoRGB(H, S, L) );
  32. circle(, , r);
  33. }
  34.  
  35. // 按任意键退出
  36. getch();
  37. closegraph();
  38. }

彩虹实例源码

 

 *.注意:EasyX不支持.c,只支持.cpp.

其中,在我们解压的文件夹内有一个EasyX的帮助文档,里面有很多的关于graphics图形库函数的介绍,可以参考它进行学习。

使用graphics.h来绘制图形的更多相关文章

  1. C++图形编程之graphics.h头文件

    graphics.h是Turbo C的针对DOS下的一个C语言图形库,如果要用的话应该用TC的编译器来编译,但是如果需要在vc及vs环境中使用graphics.h的功能,则可以选择下载EasyX图形库 ...

  2. 图解在VC里使用graphics.h画图(相似TC)

    1 www.easyx.cn 下载 EasyX 库 我下的2014;解压后例如以下图: 2 依据自己的VC 版本号进行安装 3 在控制台画一个圆 #include <graphics.h> ...

  3. 【canvas学习笔记二】绘制图形

    上一篇我们已经讲述了canvas的基本用法,学会了构建canvas环境.现在我们就来学习绘制一些基本图形. 坐标 canvas的坐标原点在左上角,从左到右X轴坐标增加,从上到下Y轴坐标增加.坐标的一个 ...

  4. Java 在PDF文档中绘制图形

    本篇文档将介绍通过Java编程在PDF文档中绘制图形的方法.包括绘制矩形.椭圆形.不规则多边形.线条.弧线.曲线.扇形等等.针对方法中提供的思路,也可以自行变换图形设计思路,如菱形.梯形或者组合图形等 ...

  5. cocos2d-x 绘制图形

    转载请注明出处:http://blog.csdn.net/oyangyufu/article/details/25841727 绘制图形例如以下:   程序代码: 须要又一次定义父类虚函数draw() ...

  6. C#如何消除绘制图形缩放时抖动,总结

    一.手动双缓冲 首先定义一个BitmapBitmap backBuffer = new Bitmap(画布宽度, 画布高度);然后获取这个Bitmap的GraphicsGraphics graphic ...

  7. 实现绘制图形的ToolBar

    给地图添加绘制图形的ToolBar还是有必要的,比较人性化的功能.图形的样式可以自己定制,也提供了朴实的默认样式.对 dojo 不太懂,出现了许许多多问题,真是蛋疼的一天啊.令人惊喜的是 ArcGis ...

  8. HTML5:绘制图形

    canvas绘图通过属于 canvas 的 JavaScript 方法完成 针对不支持html5的IE浏览器 <!--[if IE]> <script type="text ...

  9. GDI+绘制图形和画刷填充图形

    GDI+可以再Windows窗体应用程序中以编程方式绘制图形等. 可以在VS里新建项目-Windows窗体应用程序-建一个窗体.首先引入命名空间using System.Drawing.Imaging ...

随机推荐

  1. JS 全局作用域和局部作用域

    一.作用域 1.什么是作用域(Scope) 通常来说,一段程序代码中所用到的名字不总是有效和可用的,而限定这个名字的可用性的代码范围就是这个名字的作用域. JS作用域:就是代码名字(变量)作用的范围 ...

  2. C# checkedlistbox 控件 有bug

    加入集合 private void Form2_Load(object sender, EventArgs e) { DataTable dt = new DataTable(); dt.Column ...

  3. CMD命令行基本命令

    基本知识 输入 功能 Alt+Enter 全屏 Ctrl+S 暂停输出 Ctrl+C Ctrl+Break 停止程序 Ctrl+Z 表示输入结束 <file 从文件读标准输入 >file ...

  4. jquery滚动到指定位置

    利用jquery实现页面可视区滚动到指定位置.直接上代码 //滚动到指定位置 function scrollTo(element,speed) { if(!speed){ speed = 300; } ...

  5. Python天天学_01_基础1

    Python_day_01 金角大王:http://www.cnblogs.com/alex3714/articles/5465198.html ------Python是一个优雅的大姐姐 学习方式: ...

  6. R_针对churn数据用id3、cart、C4.5和C5.0创建决策树模型进行判断哪种模型更合适

    data(churn)导入自带的训练集churnTrain和测试集churnTest 用id3.cart.C4.5和C5.0创建决策树模型,并用交叉矩阵评估模型,针对churn数据,哪种模型更合适 决 ...

  7. 原生Js_实现简单选项卡功能

    javascript实现选项卡功能,在<script>...</script>中编写代码 实现步骤 a)获得各操作的dom对象: b)在所有按钮对象上添加单击事件: c)设置所 ...

  8. Zookeeper入门(六)之zkCli.sh对节点的增删改查

    参考地址为:https://www.cnblogs.com/sherrykid/p/5813148.html 1.连接 在 bin 目录下的  zkCli.sh  就是ZooKeeper客户端 ./z ...

  9. python 生成随机数的几种方法

      随机取一个: import random random.choice(string.digits)#从数字里随机选取一位数字: 随机取多位数:   random.sample(string.dig ...

  10. Java8 Optional && Guava Optional

    Java8 -- Optional boolean isPresent():与obj != null()一样:调用get()前要调用isPresent()检查,不然会报错 Optional的三种构造方 ...