【无标题】

三、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

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值