三、EasyX函数 之 设备相关
清空设备 - cleardevice()
作用 : 使用当前背景色清空设备。
函数原型 :
void cleardevice();
1
参数 : /
返回值 : /
关闭窗口 - closegraph()
作用 : 关闭绘图窗口。
函数原型 :
void closegraph();
1
参数 : /
返回值 : /
获取缩放因子 - getaspectratio()
作用 : 获取当前缩放因子。
函数原型 :
void getaspectratio(
float *pxasp,
float *pyasp
);
1
2
3
4
参数 :
p x a s p pxasppxasp : float*,返回x方向上的缩放因子。
p y a s p pyasppyasp : float*,返回y方向上的缩放因子。
返回值 : /
重置 - graphdefalts()
作用:重置视图、当前点、绘图色、背景色、线形、填充样式、字体为默认值。
函数原型:
void graphdefalts();
1
参数: /
返回值: /
初始化窗口 - initgraph()
作用:初始化绘图窗口。
函数原型:
HWND initgraph(
int width,
int height,
int flag = NULL
);
1
2
3
4
5
参数:
w i d t h widthwidth : 窗口宽度,i n t {\rm{int}}int
h e i g h t heightheight : 窗口高度,i n t \rm intint
[可选]f l a g flagflag : 窗口样式,可为:
值作用
EW_DBLCLKS在绘图窗口中支持鼠标双击事件。
EW_NOCLOSE禁用绘图窗口的关闭按钮。
EW_NOMINIMIZE禁用绘图窗口的最小化按钮。
EW_SHOWCONSOLE显示控制台窗口。
返回值:窗口句柄,H W N D \rm HWNDHWND。
实例:
initgraph(640,480);//创建一个尺寸为 640x480 的绘图窗口:
initgraph(640, 480, EW_SHOWCONSOLE);//同时显示控制台窗口
initgraph(640, 480, EW_SHOWCONSOLE | EW_NOCLOSE);//同时显示控制台窗口,并禁用关闭按钮(使用【|】连接两个flag宏)
1
2
3
设置缩放因子 - setaspectratio()
作用:设置当前缩放因子。
函数原型:
void setaspectratio(
float xasp,
float yasp
);
1
2
3
4
参数:
* x a s p xaspxasp : x 方向上的缩放因子1。
* y a s p yaspyasp : y 方向上的缩放因子2。
返回值: /
注:如果缩放因子为负,可以实现坐标轴的翻转。例如,执行 setaspectratio(1, -1) 后,可使 y 轴向上为正。
裁剪区 - setcliprgn()
作用:设置当前绘图设备的裁剪区。设置裁剪区后,绘图只有在裁剪区的部分才会显示(但仍然可以通过操作显示缓冲区在裁剪区外绘图)3
函数原型:
void setcliprgn(HRGN hrgn);
1
参数:
h r g n hrgnhrgn : 裁剪区区域句柄,若值为NULL,则取消之前的裁剪区。
返回值: /
注:可以使用 Windows GDI 函数创建一个区域。例如,创建矩形区域可以使用函数:
HRGN CreateRectRgn(
int left,
int top,
int right,
int bottom
);
1
2
3
4
5
6
除此之外,还可以使用函数 CreateEllipticRgn 创建椭圆形的区域,使用 CreatePolygonRgn 创建多边形的区域等等。还可以使用 CombineRgn 组合区域,等等。
注意:创建区域后,如果不再使用,请执行 DeleteObject(HRGN hrgn)以释放该区域对应的系统资源。
实例:
#include <graphics.h>
#include <conio.h>
int main()
{
// 初始化绘图窗口
initgraph(640, 480);
// 创建一个矩形区域
HRGN rgn = CreateRectRgn(100, 100, 200, 200);
// 将该矩形区域设置为裁剪区
setcliprgn(rgn);
// 不再使用 rgn,清理 rgn 占用的系统资源
DeleteObject(rgn);
// 画圆,受裁剪区影响,只显示出四段圆弧
circle(150, 150, 55);
// 取消之前设置的裁剪区
setcliprgn(NULL);
// 画圆,不再受裁剪区影响,显示出一个完整的圆
circle(150, 150, 60);
// 按任意键退出
_getch();
closegraph();
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
设置坐标原点 - setorigin()
作用:设置坐标原点。
函数原型:
void setorigin(int x,int y);
1
参数:
* x xx : 原点的横坐标(物理坐标,见①-<二>-坐标)
* y yy : 原点的纵坐标(物理坐标,见①-<二>-坐标)
返回值: /
————————————————
版权声明:本文为CSDN博主「HaohaoCppDebuger」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/HaohaoCppDebuger/article/details/120925045