本文为山城瑞宝创作,转载请标注版权!
本文里的函数使用都不需要先写明原型,原型就在其对应的库里(直接用)
目录
1. 设备及其坐标
2. 如何打开与关闭绘图窗口
2.1. initgraph
2.1.1. 没有flag的代码示例
2.1.2. 使用了单个flag的代码示例
2.1.3. 使用了多个flag的代码示例
2.2. closegraph
2.2.1. 使用closegraph的示例代码
3. 本文内容结合示例代码
4. flag绘图窗口样式巧记
1. 设备及其坐标
首先,我们需要明白,所谓的“设备”大多数时候其实就是指的绘图窗口。在EasyX进行代码编写时,搞清楚你所要呈现图像的位置是十分重要的。
坐标默认的原点在窗口的左上角,X轴向右为正,Y 轴向下为正,度量单位是像素点。
在EasyX中,设备分两种,一种是默认的绘图窗口,另一种是IMAGE对象。
画个图给大家理解一下吧:
举个例子,这个图里面棕色点的坐标是(50,60)而不是(50,-60)
2. 如何打开与关闭绘图窗口
要想打开绘图窗口,我们需要EasyX的头文件:
#include<easyx.h>或是#include<graphics.h>
两个头文件都是可以的,不过graphics.h的内容比easyx.h的内容要多一点,因为graphics.h里面包含了easyx.h(最好两个头文件只写一个)
#include<bits/stdc++.h> //这个可以暂时不加,后期要用变量再加
#include<graphics.h>
2.1. initgraph
这个时候,我们打开绘图窗口需要用到的一个函数,就是initgraph();
我们来看一下函数的原型:
HWND initgraph(
int width,
int height,
int flag = NULL
);
里面的width指的是绘图窗口的宽度,height指的是绘图窗口的高度。这两个变量的大小就决定了你的绘图窗口的大小。
那么,里面的flag是干嘛的呢?我为大家整理了这四种用法。
flag是的是绘图窗口的样式,默认为NULL,也就是说你不填也没有关系。
值 | 含义 |
---|---|
EW_DBLCLKS | 在绘图窗口中支持鼠标双击事件。 |
EW_NOCLOSE | 禁用绘图窗口的关闭按钮。 |
EW_NOMINIMIZE | 禁用绘图窗口的最小化按钮。 |
EW_SHOWCONSOLE | 显示控制台窗口。 |
2.1.1. 没有flag的代码示例
#include<graphics.h>
#include<conio.h>//用来使用getch()函数
int main(){
initgraph(500,500);
getch();//按任意键退出
return 0;
}
2.1.2. 使用了单个flag的代码示例
#include<graphics.h>
#include<conio.h>//用来使用getch()函数
int main(){
initgraph(500,500,EW_SHOWCONSOLE);//同时显示控制台
getch();//按任意键退出
return 0;
}
2.1.3. 使用了多个flag的代码示例
#include<graphics.h>
#include<conio.h>//用来使用getch()函数
int main(){
initgraph(500,500,EW_SHOWCONSOLE|EW_NOMINIMIZE);//中间用"|"连接,打开控制台并禁用最小化按钮
getch();//按任意键退出
return 0;
}
2.2. closegraph
这个函数是我们关闭绘图窗口会用到的,即closegraph();
这个函数直接用就可以了,这是函数原型:
void closegraph();
2.2.1. 使用closegraph的示例代码
#include<graphics.h>
#include<windows.h> //用来使用sleep函数
int main(){
initgraph(500,500);
Sleep(2000);//等待两秒
closegraph();//关闭绘图窗口
return 0;
}
3. 本文内容结合示例代码
对了,提示一下,如果控制台被关掉,那么绘图窗口也会关闭哦!
大家可以试着运行一下这个代码:
#include<graphics.h>
#include<windows.h> //用来使用sleep函数
#include<conio.h>
int main(){
initgraph(800,600,EW_NOCLOSE|EW_SHOWCONSOLE);
getch();//等待,直到按下某键
closegraph();//关闭绘图窗口
return 0;
}
4. flag绘图窗口样式巧记
这是我自己整理了一些,有点拙劣,请大家接受哈
值 | 拆分 | 含义 |
EW_DBLCLKS | 无 | 无 |
EW_NOCLOSE | NO+CLOSE | 禁止关闭 |
EW_NOMINIMIZE | NO+MINIMIZE | 禁止最小化 |
EW_SHOWCONSOLE | SHOW+CONSOLE | 打开(展示)控制台 |
好了,今天就讲到这里。我是瑞宝,我们下期再见。