C/C++/EasyX ——入门图形编程(2)

**【说明】**这一篇的内容都是很基础的,所以内容会很多,具体现在也不知道要写多少,先写下去吧,新手小白们都不用担心,这个内容不会很难,因为我也是从一无所知过来的,很好入门的,(^v^)加油吧。还有这个软件的应用是需要安装两个软件的,友友们可以自己去搜索一下,EasyX的下载及vc(这个版本有好几种,都是可以的,这里我用的是2022版的,还是不太会安装的可以先等等,我先把这篇文章写完,之后就会专门出一篇软件的下载的)

还没安装或者安装有问题的,不用着急,可以先看一下这篇文章,有了大概的了解之后可以去 B 站那里找找相关讲解,都还是很可以的。

-------------------------------------------------我是分割线-----------------------------------------------------------------

目录

一:EasyX的介绍

二:EasyX的函数

[1.EasyX 的窗口函数](#1.EasyX 的窗口函数)

[2.EasyX 的绘图函数](#2.EasyX 的绘图函数)

1) 从形状来分,常用的可以分为8种 从形状来分,常用的可以分为8种)

2) 从填充样式可以分为三种---无填充、有边框填充、无边框。 从填充样式可以分为三种—无填充、有边框填充、无边框。)

3) 其他相关函数 其他相关函数)

三:颜色介绍

四:作图示例

1.三种圆的填充图形

2.改变线条颜色及样式、大小

【说明】这里的第十三行代码中的设置线条样式,不知道都有什么样式,可以右键,点击转到定义。

3.改变窗口的颜色

【注意】改变背景颜色时需要两个步骤,需要先设置背景颜色,再清屏,否则是没用的。

五:总结


一:EasyX的介绍

EasyX 是针对 C++ 的图形库,可以帮助 C++/C 初学者快速上手图形和游戏编程,就比如可以利用它画出相关的几何图形,也可以编写贪吃蛇、五子棋、俄罗斯方块......的小游戏。(至于它的原理,它是基于 Windows 图形编程,将 Windows下的复杂程序过程进行封装,将 Windows下的编程过程隐藏,给用户提供一个简单熟悉的接口。用户对于图形库中函数的调用,最终都会由 Windows 的底层 API 实现。这一段了解一下就行了) 安装成功后包含头文件 graphics.h 即可开始快乐学习了哦。

二:EasyX的函数

注意,EasyX坐标---坐标默认的原点在窗口的左上角,X轴向右为正,Y轴向下为正,度量单位是像素点。

1.EasyX 的窗口函数

这些都是很有用的。在这个地方就不写代码将这些函数单一地用进去了,后面绘图的时候再统一给出代码吧。会有很详细的注释的。

|-----------------------------------------------|--------------------------------------------------------------------------------|
| initgraph(int width,int height,int flag=NULL) | 用于houmianhuitudeshihou初始化绘图窗口(创建窗口),width指窗口的宽度,height指窗口的宽度,flag窗口的样式,默认为NULL |
| closegraph() | 关闭绘图窗口 |
| cleardevice(); | 清空绘图设备 |

2.EasyX 的绘图函数

1) 从形状来分,常用的可以分为8种

|-----------|-------|
| circle | 画圆 |
| ellipse | 画椭圆 |
| pie | 画扇形 |
| polygon | 画多边形 |
| rectangle | 画矩形 |
| roundrect | 画圆角矩阵 |
| line | 画线 |
| putpixel | 画点 |

2) 从填充样式可以分为三种---无填充、有边框填充、无边框。

以画圆为例:circle(无填充)、fillcircle(有边框填充)、solidcircle(无边框填充)

3) 其他相关函数

设置填充颜色:setfillcolor(颜色)

设置线条颜色:setlinecolor(颜色)

设置线条样式:setlinestyle(高度,宽度,字体)

等等,还有很多。

三:颜色介绍

光的三原色是---红、绿、蓝,EasyX 的颜色可以直接在相应的函数括号中用英文表示,比如---"YELLOW",但可以表示的很少,要表示更加复杂的颜色,就要用 RGB 宏合成颜色,实际上它所合成的颜色就是一个十六进制的整数。 RGB(红色部分,绿色部分,蓝色部分);每个颜色的值都是从 0~255。这个怎么说呢,可以看看下面的图,相信友友们都很熟悉的。

这个之前大家都应该有所眼熟。数值越大,对应的颜色越浅。

四:作图示例

【代码如下】

1.三种圆的填充图形

cs 复制代码
#include <stdio.h>
#include <graphics.h>
int main()
{
	//创建一个窗口,窗口长640,宽480
	initgraph(640,480);

//设置填充颜色,注意,必须要在绘图函数circle()之前,否则,不起作用
    setfillcolor(YELLOW);

//画圆,以(50,50)坐标为原点,最后一个是参数,半径为50,下面是圆的三种填充样式
	circle(50, 50, 50);
	fillcircle(50, 150, 50);
	solidcircle(50, 250, 50);

	
	getchar();//不写这个会闪退

	//关闭窗口
	closegraph();
//这个写不写无所谓,问题不大
	return 0;
}

上面我们可以看到,三种圆形填充样式,但可能不太清晰,第二个外面的白线不显,那我们设置一下线条颜色及及粗细,是否可以呢?

2.改变线条颜色及样式、大小

cs 复制代码
#include <stdio.h>
#include <graphics.h>
int main()
{
	//创建一个窗口,窗口长640,宽480
	initgraph(640,480);

//设置填充颜色,注意,必须要在绘图函数circle()之前,否则,不起作用
    setfillcolor(YELLOW);

//设置线条颜色为红色,线条样式为实线,5个像素点(粗细程度)
	setlinecolor(RED);
	setlinestyle(PS_SOLID, 5);

//画圆,以(50,50)坐标为原点,最后一个是参数,半径为50,下面是圆的三种填充样式
	circle(50, 50, 50);
	fillcircle(50, 150, 50);
	solidcircle(50, 250, 50);

	
	getchar();//不写这个会闪退

	//关闭窗口
	closegraph();
//这个写不写无所谓,问题不大
	return 0;
}

这样,就很容易看出来了。但是,这个背景不太舒服,你想要去掉或者改变一下颜色,该怎么做呢,这就用到了之前的窗口函数。

【说明】这里的第十三行代码中的设置线条样式,不知道都有什么样式,可以右键,点击转到定义。

可以看到下面的,找到你想要的就可以了。

3.改变窗口的颜色

cs 复制代码
#include <stdio.h>
#include <graphics.h>
int main()
{
	//创建一个窗口,窗口长640,宽480
	initgraph(640, 480);

	//设置背景颜色,两个步骤不能少且顺序不能改变,否则没效果
	setbkcolor(WHITE);//first step
	cleardevice();//second step

	//设置填充颜色,注意,必须要在绘图函数circle()之前,否则,不起作用
	setfillcolor(YELLOW);

	//设置线条颜色为红色,线条样式为实线,5个像素点(粗细程度)
	setlinecolor(RED);
	setlinestyle(PS_SOLID, 5);

	//画圆,以(50,50)坐标为原点,最后一个是参数,半径为50,下面是圆的三种填充样式
	circle(50, 50, 50);
	fillcircle(50, 150, 50);
	solidcircle(50, 250, 50);


	getchar();//不写这个会闪退

	//关闭窗口
	closegraph(); 
//这个写不写无所谓,问题不大
		return 0;
}

【注意】改变背景颜色时需要两个步骤,需要先设置背景颜色,再清屏,否则是没用的。

五:总结

不想写了,感觉有点长,虽然都是很简单的点,但是太长了,友友们肯定也会疲倦,而且翻的有点累手,那就先写到这,这一篇就讲关于做出简单图形的相关知识吧,下一篇写如何在窗口上绘制文字吧,一步一步慢慢来。友友给个赞吧。(>y<)(⌒▽⌒)(^v^)

相关推荐
丢掉幻想准备斗争1 小时前
C++(string类的实现)
开发语言·c++
Grayson_Zheng2 小时前
【解决方案】关于 UART 接收数据时丢失数据的解决办法——环形缓冲存储区
c语言·数据结构·stm32·单片机
潜※者3 小时前
C语言 动态数据结构的C语言实现内存映像
c语言
Watermelon Y3 小时前
【C++】多肽
开发语言·c++
碧海蓝天20223 小时前
C++ 线性表、内存操作、 迭代器,数据与算法分离。
开发语言·数据结构·c++·算法
single5943 小时前
【优选算法】(第十七篇)
java·数据结构·c++·vscode·算法·leetcode
Silent starry sky4 小时前
C++初学者指南-5.标准库(第二部分)–随机数生成
c++·算法
C++忠实粉丝4 小时前
C++IO流
开发语言·c++
长天一色4 小时前
【C语言系统编程】【第三部分:网络编程】3.2 数据传输和协议
c语言·开发语言·网络
Lbs_gemini06035 小时前
Java研发笔记6——C语言程序设计学习笔记5
c语言·笔记·学习