没有小看大家,我们在数学中就已经学过平面直角坐标系了,如下
而当我们使用EasyX
创建的窗口的纵轴方向和上图中的是相反的。如下:
2.创建窗口 – 基本框架
我们在使用EasyX
的时候都是去调用图形库里面的接口,说白了就是学习它里面的函数怎么使用。
涉及接口:
HWND initgraph(int width, int height, int flag = 0);//创建窗口
void closegraph();//关闭窗口
//参数1决定窗口的宽度,参数2决定窗口的高度,参数三决定窗口的模式
参数3:
#define SHOWCONSOLE 1 // 显示控制台
#define NOCLOSE 2 // 不可关闭,就是窗口的❎不见了
#define NOMINIMIZE 4 // 不可最小化,就是窗口的➖不见了
代码演示1:
#include<graphics.h>//记得加上这个头文件
#include<stdio.h>
int main()
{
initgraph(1024, 480,SHOWCONSOLE);
getchar();//防止窗口一闪而过,我们让其等待输出停一会儿
closegraph();//关闭窗口
return 0;
}
在我们创建的窗口中,宽度和高度的单位是:像素点,当然了,我们要看完整的函数声明,是可以对函数名进行,右键 > 转到定义去查看的
大家可以将试一试这几个参数的效果,查看更多参数可以右键>转到定义,就可以看到更到的宏参数了
上面的三个参数是可以同时放进去的,就像这样initgraph(1024, 480,SHOWCONSOLE | NOCLOSE | NOMINIMIZE);
再次温馨提示,源文件必须是.cpp
文件
没错上面的窗口就是我们创建出来的窗口,我们发现它的窗口名不再是对应的项目路径,而且右侧已经不再是滚动条,说明此时它已经不是控制台窗口了,没错这个现在看起来还是很low,下面我们就自己设计一下自己的窗口
3.颜色设置
咱们先将可以设置颜色的接口介绍一遍,后面都会使用到
3.1背景颜色
使用到的接口
void setbkcolor(COLORREF color);//设置背景颜色,参数填入颜色RGB值
void cleardevice(); //清空设备
当这两个接收一起使用时,才能达到效果
3.2设置线条颜色
void setlinecolor(COLORREF color);
3.3设置文本颜色
void settextcolor(COLORREF color);
3.4设置填充颜色
void setfillcolor(COLORREF color);
4样式设置
咱们先将可以设置样式的接口介绍一遍,后面都会使用到
4.1设置背景样式
可以设置成是背景是填充还是覆盖
void setbkmode(int mode);//设置背景模式
参数:
#define TRANSPARENT 1 //透明的
#define OPAQUE 2 //覆盖的
默认不设置的情况下是覆盖的的
4.2设置线条样式
void setlinestyle(int style, int thickness = 1, const DWORD \*puserstyle = NULL, DWORD userstylecount = 0);
//第一个参数是设置线条的样式 -- 实线,虚线等
参数1:
#define PS\_SOLID 0
#define PS\_DASH 1 /\* ------- \*/
#define PS\_DOT 2 /\* ....... \*/
#define PS\_DASHDOT 3 /\* \_.\_.\_.\_ \*/
#define PS\_DASHDOTDOT 4 /\* \_..\_..\_ \*/
//参数2是设置线条的宽度,单位是像素点
第三个参数,第四个参数大家可以不填
4.3设置文本样式
void settextstyle(int nHeight, int nWidth, LPCTSTR lpszFace);
//参数1:文本高度
//参数2:文本宽度
//参数3:文本的字体 -- 大家可以理解成就是填一个const char\*的参数
参数三:
1. "宋体"
2. "楷体"
很多很多,大家可以试一试word里面的那些字体哪些可以用
⚠:千万注意,千万注意,千万注意,很多同学在使用文本接口的时候经常报错,这是应为需要修改项目属性,我们要将使用 Unicode 字符集 — 改成 使用多字节字符集
5.绘制图形
你在画板中可以画的图案,几乎都可以做到,下面我们已画圆举例
画圆示例
使用的接口:
void circle (int x, int y, int radius); //画一个由线条边框组成,无填充的圆
void fillcircle (int x, int y, int radius); // 画一个有线条边框,有填充的圆
void solidcircle(int x, int y, int radius); //画一个无线条边框,有填充的圆
x y–即圆的坐标,radius – 即圆的半径
代码举例2:
#include<stdio.h>
#include<graphics.h>
//1.设置颜色
void set\_color()
{
![img](https://img-blog.csdnimg.cn/img_convert/a89cd160e62b1f3bebb0f03ddbfe3810.png)
![img](https://img-blog.csdnimg.cn/img_convert/ba1f69d32aff5cffd4a5ea7642be9abd.png)
![img](https://img-blog.csdnimg.cn/img_convert/29143b35a97921255a7d9f76d2f68d20.png)
**既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,涵盖了95%以上大数据知识点,真正体系化!**
**由于文件比较多,这里只是将部分目录截图出来,全套包含大厂面经、学习笔记、源码讲义、实战项目、大纲路线、讲解视频,并且后续会持续更新**
**[需要这份系统化资料的朋友,可以戳这里获取](https://bbs.csdn.net/topics/618545628)**
)]
[外链图片转存中...(img-es5DXAO4-1714511106043)]
[外链图片转存中...(img-eHyQARQg-1714511106043)]
**既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,涵盖了95%以上大数据知识点,真正体系化!**
**由于文件比较多,这里只是将部分目录截图出来,全套包含大厂面经、学习笔记、源码讲义、实战项目、大纲路线、讲解视频,并且后续会持续更新**
**[需要这份系统化资料的朋友,可以戳这里获取](https://bbs.csdn.net/topics/618545628)**