首页 > 代码库 > 使用graphics.h来绘制图形
使用graphics.h来绘制图形
| 版权声明:本文为博主原创文章,未经博主允许不得转载。
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(640, 480); // 这里和 TC 略有区别6 circle(200, 200, 100); // 画圆,圆心(200, 200),半径 1007 getch(); // 按任意键继续8 closegraph(); // 关闭图形界面9 }
// 编译环境:Visual C++ 6.0,EasyX 2014冬至版// http://www.easyx.cn//#include <graphics.h>#include <time.h>#include <conio.h>#define MAXSTAR 200 // 星星总数struct STAR{ double x; int y; double step; int color;};STAR star[MAXSTAR];// 初始化星星void InitStar(int i){ star[i].x = 0; star[i].y = rand() % 480; star[i].step = (rand() % 5000) / 1000.0 + 1; star[i].color = (int)(star[i].step * 255 / 6.0 + 0.5); // 速度越快,颜色越亮 star[i].color = RGB(star[i].color, star[i].color, star[i].color);}// 移动星星void MoveStar(int i){ // 擦掉原来的星星 putpixel((int)star[i].x, star[i].y, 0); // 计算新位置 star[i].x += star[i].step; if (star[i].x > 640) InitStar(i); // 画新星星 putpixel((int)star[i].x, star[i].y, star[i].color);}// 主函数void main(){ srand((unsigned)time(NULL)); // 随机种子 initgraph(640, 480); // 创建绘图窗口 // 初始化所有星星 for(int i = 0; i < MAXSTAR; i++) { InitStar(i); star[i].x = rand() % 640; } // 绘制星空,按任意键退出 while(!kbhit()) { for(int i = 0; i < MAXSTAR; i++) MoveStar(i); Sleep(20); } closegraph(); // 关闭绘图窗口}
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(640, 480);11 12 // 画渐变的天空(通过亮度逐渐增加)13 float H = 190; // 色相14 float S = 1; // 饱和度15 float L = 0.7f; // 亮度16 for(int y = 0; y < 480; y++)17 {18 L += 0.0005f;19 setlinecolor( HSLtoRGB(H, S, L) );20 line(0, y, 639, y);21 }22 23 // 画彩虹(通过色相逐渐增加)24 H = 0;25 S = 1;26 L = 0.5f;27 setlinestyle(PS_SOLID, 2); // 设置线宽为 228 for(int r = 400; r > 344; r--)29 {30 H += 5;31 setlinecolor( HSLtoRGB(H, S, L) );32 circle(500, 480, r);33 }34 35 // 按任意键退出36 getch();37 closegraph();38 }
*.注意:EasyX不支持.c,只支持.cpp.
其中,在我们解压的文件夹内有一个EasyX的帮助文档,里面有很多的关于graphics图形库函数的介绍,可以参考它进行学习。
使用graphics.h来绘制图形