一、EasyX 概述
-
EasyX 是一款专为 C++ 开发者设计的轻量级图形库,主要面向 Windows 平台,它有如下特点
-
EasyX 的 API 设计简洁直观,易学易用,绘图效果所见即所得
二、EasyX 下载与安装
1、EasyX 下载
- 官方网址:
https://easyx.cn/

2、EasyX 安装




3、EasyX 验证安装
- 新建项目,包含
graphics.h
头文件,不报错即安装成功
#include <graphics.h>
int main()
{
return 0;
}
三、打开一个窗口
1、具体实现
#include <graphics.h>
#include <conio.h>
int main()
{
initgraph(640, 480);
_getch();
closegraph();
return 0;
}
-
initgraph()
是graphics.h
提供的函数,用于创建窗口 -
getch()
是conio.h
提供的函数,它会暂停程序,直到用户按下任意键,这样窗口就不会立即关闭 -
closegraph()
是graphics.h
提供的函数,用于关闭窗口
2、注意事项
- 如果代码写成如下形式,窗口创建后,程序就会立即退出
#include <graphics.h>
#include <conio.h>
int main()
{
initgraph(640, 480);
return 0;
}
-
initgraph()
创建了窗口,但程序继续执行到return 0;
,导致主函数结束,窗口被关闭 -
图形程序通常需要事件循环或等待用户输入,否则窗口会一闪而过
四、打开一个彩色窗口
1、具体实现
#include <graphics.h>
#include <conio.h>
int main()
{
initgraph(640, 480);
setbkcolor(RGB(135, 206, 235));
cleardevice();
_getch();
closegraph();
return 0;
}
2、注意事项
- 如果代码写成如下形式,打开的还是一个黑色窗口
#include <graphics.h>
#include <conio.h>
int main()
{
initgraph(640, 480);
setbkcolor(RGB(135, 206, 235));
_getch();
closegraph();
return 0;
}
-
setbkcolor()
只是设置背景色,并不会立即改变当前屏幕颜色 -
setbkcolor()
影响的是后续调用清屏函数cleardevice()
时的填充颜色 -
必须先
setbkcolor()
设置颜色,然后cleardevice()
应用颜色 -
简单来说,
setbkcolor()
是改变了清屏时使用的颜色,要真正看到效果,必须配合cleardevice()
使用
五、绘制简易图形
1、绘制矩形
#include <graphics.h>
#include <conio.h>
int main()
{
initgraph(640, 480);
setbkcolor(RGB(135, 206, 235));
cleardevice();
setlinecolor(RGB(255, 0, 0));
setfillcolor(RGB(0, 255, 0));
fillrectangle(100, 100, 300, 300);
_getch();
closegraph();
return 0;
}
-
setlinecolor()
用于设置图形线条颜色 -
setfillcolor()
用于设置图形填充颜色 -
fillrectangle()
用于绘制一个矩形,它的 4 个参数分别是,矩形左上角 x 坐标、矩形左上角 y 坐标、矩形右下角 x 坐标、矩形右下角 y 坐标
2、绘制圆形
#include <graphics.h>
#include <conio.h>
int main()
{
initgraph(640, 480);
setbkcolor(RGB(135, 206, 235));
cleardevice();
setlinecolor(RGB(255, 0, 0));
setfillcolor(RGB(0, 255, 0));
fillcircle(400, 200, 100);
_getch();
closegraph();
return 0;
}
fillcircle()
用于绘制一个矩形,它的 3 个参数分别是,圆心的x坐标、圆心的y坐标、圆的半径
六、输出文字
#include <graphics.h>
#include <conio.h>
int main()
{
initgraph(640, 480);
setbkcolor(RGB(135, 206, 235));
cleardevice();
settextcolor(RGB(0, 0, 255));
settextstyle(30, 0, _T("宋体"));
outtextxy(200, 400, _T("Hello World"));
_getch();
closegraph();
return 0;
}
-
settextcolor()
用于设置文字颜色 -
settextstyle()
用于设置文字样式,它的 3 个参数分别是,字体高度、字体宽度、字体名称 -
outtextxy()
用于输出文字,它的 3 个参数分别是,文字左上角的 x 坐标、文字左上角的y坐标、文字内容