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

ops/2024/10/4 17:25:16/

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

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

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

目录

一:EasyX的介绍

二:EasyX的函数

1.EasyX 的窗口函数

2.EasyX 的绘图函数

1) 从形状来分,常用的可以分为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.三种圆的填充图形

#include <stdio.h>
#include <graphics.h>
int main()
{//创建一个窗口,窗口长640,宽480initgraph(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.改变线条颜色及样式、大小

#include <stdio.h>
#include <graphics.h>
int main()
{//创建一个窗口,窗口长640,宽480initgraph(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.改变窗口的颜色

#include <stdio.h>
#include <graphics.h>
int main()
{//创建一个窗口,窗口长640,宽480initgraph(640, 480);//设置背景颜色,两个步骤不能少且顺序不能改变,否则没效果setbkcolor(WHITE);//first stepcleardevice();//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^)


http://www.ppmy.cn/ops/121024.html

相关文章

JavaScript---BOM,DOM 对象

一.BOM对象 Browser Object Model 浏览器对象模型。JavaScript 将浏览器的各个组成部分封装为对象 Window &#xff1a;浏览器窗口对象。 对象表示浏览器中打开的窗口。Navigator&#xff1a;浏览器对象。 对象包含有关浏览器的信息。Screen&#xff1a;屏幕对象。 对象包含有…

Android数据存储

文章目录 共享参数SharedPreference1.共享参数用法2.实现记住密码功能3.利用设备浏览器寻找共享参数文件 数据库SQLite1.SQL基本语法2.数据库管理器SQLitedatabase3.数据库帮助器SQLiteOpenHelper4.优化记住密码功能 存储卡文件操作1.私有存储空间和公共存储空间2.在存储卡上读…

电脑显示mfc140u.dll丢失怎么办,分享4个有效的解决方法

1. mfc140u.dll 简介 1.1 定义与作用 mfc140u.dll 是 Microsoft Foundation Class (MFC) 库中的一个动态链接库文件&#xff0c;它是 MFC 库在 Unicode 版本中的一个特定实现。MFC 是微软为 Windows 平台开发的一套 C 类库&#xff0c;封装了众多 Windows API 函数&#xff0…

Android页面跳转与返回机制详解

在Android开发中&#xff0c;页面跳转是实现应用功能交互的重要手段之一。本文将从Activity之间的跳转、Activity与Fragment之间的跳转、Fragment之间的跳转以及页面返回的问题四个方面进行详细解析。 一、Activity之间的跳转 Activity是Android应用的基本构建块&#xff0c;…

25考研咨询周开启,西安电子科技大学是否改考408??

学长这几天帮大家问了西安电子科技大学是否会从833、834、953改考为408&#xff1f; 西电老师回复&#xff1a;根据上级文件要求&#xff0c;招生简章以及专业目录会在网上报名开始前公布&#xff0c;专业课不会又大变动&#xff01; 因为大家安心复习即可&#xff0c;保证今…

安全点的应用场景及其原理详解

引言 在Java虚拟机&#xff08;JVM&#xff09;运行的过程中&#xff0c;有些时刻&#xff0c;系统需要暂停所有正在运行的线程&#xff0c;以执行某些全局操作或确保数据的一致性。这些暂停线程的时刻被称为**“安全点”**&#xff08;Safepoint&#xff09;。尽管安全点最广…

GPG error golang 1.19

1. 问题描述及原因分析 在飞腾2000的服务器&#xff0c;OS为Kylin Linux Advanced Server release V10环境下&#xff0c;docker版本为18.09.0&#xff08;docker-engine-18.09.0-101.ky10.aarch64&#xff09;&#xff0c;基于容器镜像golang:1.19编译新的容器镜像&#xff0…

【Docker】Docker Healthchecks:监控容器健康状态的最佳实践

目录 一、什么是Docker Healthchecks&#xff1f;二、如何配置Healthchecks&#xff1f;三、Healthchecks的执行流程四、查看健康状态五、结合重启策略使用Healthchecks六、注意事项总结 Docker Healthchecks 是一项强大的特性&#xff0c;可以帮助开发者监控容器的健康状态&am…