easyx的基本使用<一>(万字解析)


在这里插入图片描述

easyx是一款使用成本极低的图形库插件,可以快速通过c语言绘制出图形 安装官网。需要的图形几乎只需要通过查阅函数就可以实现。ps:easyx只支持VS系列。

一.基本框架

1.创建文件

使用easyx创建项目选择控制台。

在这里插入图片描述

创建源文件时使用cpp为后缀,因为cpp为c++后缀。easyx内部是由c++语法实现的,但是不用担心因为easyx使用的是一系列既可由c++实现又可由c实现的函数。

在这里插入图片描述

2.创建窗体-initgraph,closegraph,getchar

平常在打印c程序时会出现一个黑色的控制台,而在使用easyx时我们创建一个可大可小的窗体以便我们调整。

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

二.简单的绘制

1.圆形-circle

在这里插入图片描述

在这里插入图片描述

可以看到确实画出来一个圆,但园的位置在最左上角。这就是easyx的坐标系统造成的啦。

2.坐标系统-setorigin,setaspectratio

我们一般意义上的直角坐标系原点位于中心,并且y轴的正方向向上。

在这里插入图片描述

但在easyx里有所不同的是,easyx有两种坐标分别是:逻辑坐标和物理坐标。

在这里插入图片描述

表面上看来物理坐标和逻辑坐标是没什么区别的实际上有着很大区别。物理坐标是用于描述窗体的坐标,不能被修改;而逻辑坐标是用于描述绘图的坐标,可以被修改。

接下来我们把逻辑坐标移到窗体中心。

在这里插入图片描述

在这里插入图片描述

这里的坐标与我们常用的坐标还是有所差异,因为y轴是向下的,所以我们需要将y轴向上翻转。

在这里插入图片描述

如果缩放因子为负则可实现该坐标轴的翻转。

在这里插入图片描述

三.简单图形

1.绘制点-putpixel

在这里插入图片描述

为了使现象更明显,随机画1000个白色的点。其中使用到随机数可以看看这篇设置随机数

在这里插入图片描述

2.简单的直线-line

`1

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

3.矩形-rectangle

在这里插入图片描述

从传参可以看出实际上就是矩形左上顶点和右下顶点。

在这里插入图片描述

4.椭圆-ellipse

在这里插入图片描述

从传参可以看出,其实就是传一个矩形,再通过矩形内切一个椭圆(具体怎么内切由该函数实现)。

在这里插入图片描述

5.圆角矩形-roundrect

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

6.扇形-pie

在这里插入图片描述

确定一个扇形需要先确定一个椭圆,再确定起始角度和终止角度就可以了。

在这里插入图片描述

在这里插入图片描述

7.圆弧-arc

在这里插入图片描述

参数与扇形是一样的,区别在于圆弧少了两条线。具体怎么缺少由arc函数实现。

在这里插入图片描述

四.多边形

1.绘制封闭图形-polygon

在这里插入图片描述

这里的piont是easyx自带的一个结构体,组成如下:

在这里插入图片描述

例子三角形

在这里插入图片描述

同理,想要绘制出梯形,五边形,六边形…只需要将它们的顶点合成一个数组,再传入polygon即可。

2.绘制非封闭图形-polyline

polygon会将所有线段连接起来,例如我们想用polygon绘制字母W是办不到的。

在这里插入图片描述

polyline与polygon的参数是一致的,唯一的区别是polyline不会连接首尾两个端点。

在这里插入图片描述

在这里插入图片描述

五.图形的样式

1.描边

1.边的颜色-setlinecolor

在这里插入图片描述

这是一个简单的圆形,我们仔细观察可以发现是由白色的线条构成。我们将白色的线条称为描边,描边默认是白色的。我们怎样修改边的颜色呢?

在这里插入图片描述

在这里插入图片描述

当然仅仅有颜色是不够的,我们还需要边的样式。

2.边的样式-setlinestyle

在这里插入图片描述

这里有4个参数,但后两个我们可以默认不传参。我们来看一下style。

在这里插入图片描述

easyx中定义了7种不同的常量代表不同的样式(最后一种是自定义)。

在这里插入图片描述

下面演示虚线样式。

在这里插入图片描述

可以看到确实成功了但线条太细了,我们想要更粗一些。这时得用到第二个参数了。

在这里插入图片描述

3.端点的样式-setlinestyle

关于端点的样式,easyx里有三种选择。

在这里插入图片描述

下面演示圆端点。

在这里插入图片描述

4.连接样式-setlinestyle

easyx里有三种连接样式。

在这里插入图片描述

下面以斜面连接为例。

在这里插入图片描述

2.填充-setfillcolor

填充与绘制图形的函数几乎是一样的,总是在前面加上solid。例如圆的函数是circle,那么它的填充函数就是solidcircle。

在这里插入图片描述

可以看到的确进行了填充,但填充的颜色是默认的白色,如果想要改变颜色则需要下面函数。

在这里插入图片描述

在这里插入图片描述

3.描边加填充-fill

只需要在描边函数前面加上fill就可以了。例如,一个简单的圆形描边是circle函数,既使用描边又使用填充的圆就是fillcircle。

以下一个圆形的描边颜色是红色虚线,填充颜色为黄色

在这里插入图片描述

4.背景色更改-setbkcolor,cleardevice

默认背景颜色是黑色,想要更改也很简单。就像粉刷墙面一样,setbkcolor就是让你拥有一个特定颜色的刷子。而cleardevice就相当于用这把刷子粉刷墙面。所以两个函数需要一起使用才能达到目的。

在这里插入图片描述

六.一个训练-哆啦A梦

#include<stdio.h>
#include<easyx.h>
#define PI 3.14
int main()
{
	initgraph(1024, 1024);
	setbkcolor(WHITE);
	cleardevice();

	setlinecolor(BLACK);
	setlinestyle(PS_SOLID, 10);

	setfillcolor(BLUE);
	fillellipse(118, 125, 990, 931);//蓝色头部

	setfillcolor(WHITE);
	fillellipse(189, 271, 919, 931);//白色脸部

	fillellipse(375, 170, 555, 420);
	fillellipse(555, 170, 735, 420);//眼框

	setfillcolor(BLACK);
	solidcircle(484, 333, 25);
	solidcircle(617, 333, 25);//瞳孔

	setfillcolor(WHITE);
	solidcircle(484, 333, 10);
	solidcircle(617, 333, 10);//眼部高光

	setfillcolor(RED);
	fillcircle(554, 420, 35);
	line(554, 460, 554, 828);//鼻子和竖线

	arc(320, 510, 789, 827, PI, 2 * PI);//嘴吧

	line(125, 313, 296, 410);
	line(83, 444, 270, 474);
	line(83, 595, 262, 527);
	line(819, 414, 990, 320);
	line(845, 478, 1029, 448);
	line(853, 542, 1029, 660);//胡须

	getchar();
	closegraph();
	return 0;
}

在这里插入图片描述

ps:以上资料来源于c语言小游戏实战。

在这里插入图片描述

评论 111
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

咸蛋挞

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值