在电脑已经安装了vs编译器的情况下在浏览器输入EasyX的官网网址http://easyx.cn下载EasyX图形库根据安装提示对应VS版本安装即可 。
// EasyX.cpp : 此文件包含 "main" 函数。程序执行将在此处开始并结束。
//在电脑已经安装了vs编译器的情况下在浏览器输入EasyX的官网网址http://easyx.cn下载EasyX图形库根据安装提示对应VS版本安装即可
#include <stdio.h>//导入stdio.h头文件来支持getchar()函数让窗体关闭延缓
#include <easyx.h>//导入下载好的easyx图像库头文件,他包涵了绘制图形的各类函数。
#include <math.h>//导入math头文件,即可使用cos等转弧度制的函数
#define PI 3.1415926//定义常量符号圆周率为PI
int main()
{
//1.创建绘图窗体
//使用easyx图形库中的initgraph函数创建一个绘图窗口并且设置宽和高
initgraph(800, 600);
//2.反转物理轴
//使用easyx图形库中的setaspectratio(x,y)设负值可以反转物理轴的方向
setaspectratio(1, -1);
//3.定义逻辑坐标
//使用easyx图形库中的setorigin函数创建逻辑坐标起点
setorigin(400, 300);
//4.画点
//使用easyx图形库中的putpixel(y轴,x轴,颜色)函数来画点
//putpixel(0,0,RED);
//putpixel(200, 200, YELLOW);
//putpixel(200, -200, CYAN);
//putpixel(-200, 200, WHITE);
//putpixel(-200, -200, GREEN);
//我们可以使用rand函数随机生成这些点
/*int y, x;
for (int i = 0;i < 1000;i++) {
y = rand() % (800 + 1) - 400;
x = rand() % (600 + 1) - 300;
putpixel(y, x, WHITE);
}*/
//5.画直线
//使用easyx图形库中的line函数来画直线前面两个参数以y轴和x轴设起点,后面为y轴和x轴设结束点
//line(200, -200, -200, 200);
//line(200, 200, -200, -200);
//6.画圆
//使用rasyx图形库中的circle函数来画圆有三个参数为在当前绘图窗口这个圆的中心点y轴,中心点x轴,圆的半径,前面那个参数为物理坐标
//circle(0, 0, 300);
//画同心圆
/*for (int r = 10;r <= 300;r += 10) {
circle(0, 0, r);
}*/
//7.画矩形
//使用easyx图形库中的rectangle来画矩形
//rectangle(-200, 100, 200, -100);
//8.画椭圆
//使用easyx图形库中的initgraph函数来画椭圆,逻辑上椭圆是在矩形中画的
//ellipse(-200, 100, 200,-100);
//9.画椭圆矩形
//使用easyx图形库中的roundrect来画椭圆矩形,前面四个参数设矩形,后面两个设椭圆矩形的圆角尺寸
//roundrect(-200, 100, 200, -100, 200, 100);
//10.画扇形
//使用easyx图形库中的pie函数来画扇形,前面四个参数相当于椭圆,第三个参数设轴心,第四个参数设圆周率取角需要定义常量符号PI为3.14
//pie(-200, 100, 200, -100, 0, PI / 4);
//11.画圆弧
//使用easyx图形库中的arc函数来画圆弧,前面四个参数相当于椭圆,第三个参数设轴心,第四个参数设圆周率取角需要定义常量符号PI为3.14
//arc(-200, 100, 200, -100, 0, PI / 4);
//12.画三角形
//通过line函数画线的方式画一个三角形
/*line(0, 200, 200, -200);
line(200, -200, -200, -200);
line(-200, -200, 0, 200);*/
//12.画多边形
//使用easyx图形库中的polygon函数来画多边形更加便捷,只需要提供多边形的顶点即可
//POINT poins[] = { {200,200},{200,-200},{-200,-200},{-200,200} };//依次设需要的多边形每个角的顶点
//polygon(poins, 4);//这里决定取多少个角的多边形
//13.画五边形与更多边形
//创建一个五边形,弧度制中的一个3.14为180度弧度
/*double theta = PI / 2;//二分之圆周率等于90度
double delta = 2 * PI / 5;//我们拿360度除以5即72度,这个五边形的每个边为72弧度
int r = 200;//设半径为200
POINT poins[5];
for (int i = 0;i < 5;i++) {
poins[i].y = cos(theta + i * delta) * r;//获得y轴坐标
poins[i].x = sin(theta + i * delta) * r;//获得x轴坐标
}
polygon(poins, 5);*/
//创建一个六边形,弧度制中的一个3.14为180度弧度
/*double theta = PI / 2;//二分之圆周率等于90度
double delta = 2 * PI / 6;//我们拿360度除以5即72度,这个五边形的每个边为72弧度
int r = 200;//设半径为200
POINT poins[6];
for (int i = 0;i < 6;i++) {
poins[i].y = cos(theta + i * delta) * r;//获得y轴坐标
poins[i].x = sin(theta + i * delta) * r;//获得x轴坐标
}
polygon(poins, 6);*/
//创建一个15边形,弧度制中的一个3.14为180度弧度
/*double theta = PI / 2;//二分之圆周率等于90度
double delta = 2 * PI / 15;//我们拿360度除以5即72度,这个五边形的每个边为72弧度
int r = 200;//设半径为200
POINT poins[15];
for (int i = 0;i < 15;i++) {
poins[i].y = cos(theta + i * delta) * r;//获得y轴坐标
poins[i].x = sin(theta + i * delta) * r;//获得x轴坐标
}
polygon(poins, 15);*/
//14.画不规则图形
//不规则图形M图形
//POINT poins[] = { {-200,200},{0,50},{200,200},{400,0},{200,150},{0,25},{-200,150},{-400,0} };
//polygon(poins, 8);
//15.封闭与不封闭图形
//我们使用polygon函数画图第一个点和最后一个点总是会链接使得图形封闭
//我们可以用polyline来画不封闭的图形,这个函数和polygon函数的区别就是封闭和不封闭而已
//POINT poins[] = { {-400,0},{-200,-200},{0,50},{200,-200},{400,0} };
//polyline(poins, 5);
//16.描边颜色
//以上我们所画的图形皆为描边类型我们可以用se tliencolor(颜色)绘图的前面设置描边的颜色
//setlinecolor(YELLOW);//设描边颜色为黄色
//circle(0, 0, 200);//画一个圆直径为200b
//17.线条样式
//我们可以使用setlinetyle()函数在画线之前定义线的样式参数一为样式,参数二为大小单位是像素
/*setlinestyle(PS_SOLID, 4);//实线
line(-400, 250, 400, 250);
setlinestyle(PS_DASH,4);//虚线
line(-400, 200, 400, 200);
setlinestyle(PS_DOT);//点线
line(-400, 150, 400, 150);
setlinestyle(PS_DASHDOT);//线点线
line(-400, 100, 400, 100);
setlinestyle(PS_DASHDOTDOT);//线点点线
line(-400, 50, 400, 50);
setlinestyle(PS_NULL);//不可见
line(-400, 0, 400, 0);
//还可以设置线的端点样式
// 端点为PS_ENDCAP_ROUND,圆形
setlinestyle(PS_ENDCAP_ROUND, 16);
line(-300, -50, 300, -50);
// 端点为PS_ENDCAP_SQUARE,方形
setlinestyle(PS_ENDCAP_SQUARE, 16);
line(-300, -100, 300, -100);
// 端点为PS_ENDCAP_FLAT,平坦
setlinestyle(PS_ENDCAP_FLAT, 16);
line(-300, -150, 300, -150);*/
//端点样式还可以为多边图形的连接处设端点样式
// 连接为PS_JOIN_BEVEL,斜面
/*setlinestyle(PS_JOIN_BEVEL, 64);
POINT points1[3] = { {-150, 100}, {0, 200}, {150, 100} };
polyline(points1, 3);
// 端点为PS_JOIN_MITER,斜接
setlinestyle(PS_JOIN_MITER, 64);
POINT points2[3] = { {-150, 0}, {0, 100}, {150, 0} };
polyline(points2, 3);
// 端点为PS_JOIN_ROUND,圆弧
setlinestyle(PS_JOIN_ROUND, 64);
POINT points3[3] = { {-150, -100}, {0, 0}, {150, -100} };
polyline(points3, 3);*/
//17.可填充图形
//我们在画图函数前面学的描边绘图函数前面加solid即可绘制填充图,与描边绘图函数的区别仅仅是前面加了solid
//solidcircle(0,0,200);
//setfillcolor可以修改填充的颜色
//setfillcolor(YELLOW);
//solidcircle(0, 0, 200);
//18.即描边又填充
// 设置描边颜色为红色
//setlinecolor(RED);
// 设置描边线形为虚线,粗细为12。
//setlinestyle(PS_DASH, 12);
// 设置填充颜色为黄色
//setfillcolor(YELLOW);
// 绘制即描边又填充的圆形
//fillcircle(0, 0, 200);
//19.窗体颜色
//使用setbkcolor函数设置窗体背景颜色
//但是窗体在创建时默认为黑色,我们需要清除所有才能重新涂新的颜色
//setbkcolor(WHITE);
//使用cleardevice函数清除窗体
//cleardevice();
//使用getchar函数来延缓绘图窗体的关闭时间,直到用户按下任意键后关闭窗体,这个函数需要调用stdio.h头文件
getchar();
//使用easyx图形库中的closegraph函数来关闭我们创建的绘图窗口
closegraph();
return 0;
}
// 运行程序: Ctrl + F5 或调试 >“开始执行(不调试)”菜单
// 调试程序: F5 或调试 >“开始调试”菜单
// 入门使用技巧:
// 1. 使用解决方案资源管理器窗口添加/管理文件
// 2. 使用团队资源管理器窗口连接到源代码管理
// 3. 使用输出窗口查看生成输出和其他消息
// 4. 使用错误列表窗口查看错误
// 5. 转到“项目”>“添加新项”以创建新的代码文件,或转到“项目”>“添加现有项”以将现有代码文件添加到项目
// 6. 将来,若要再次打开此项目,请转到“文件”>“打开”>“项目”并选择 .sln 文件