首页 > 代码库 > 使用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来绘制图形