15天学会EasyX 第2天:EasyX里的设备坐标与打开关闭绘图窗口

本文为山城瑞宝创作,转载请标注版权

本文里的函数使用都不需要先写明原型,原型就在其对应的库里(直接用)

目录

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_NOCLOSENO+CLOSE禁止关闭
EW_NOMINIMIZENO+MINIMIZE禁止最小化
EW_SHOWCONSOLESHOW+CONSOLE打开(展示)控制台

好了,今天就讲到这里。我是瑞宝,我们下期再见。 

  • 4
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值