0
点赞
收藏
分享

微信扫一扫

C++のeasyx4:函数initgraph、setaspectratio、setcliprgn、setorigin的运用

i奇异 2022-01-06 阅读 91
c++

6.initgraph

这个函数用于初始化绘图窗口。

HWND initgraph(
	int width,
	int height,
	int flag = NULL
);

※1.参数

width

绘图窗口的宽度。

height

绘图窗口的高度。

flag

绘图窗口的样式,默认为 NULL。可为以下值:

含义
EW_DBLCLKS在绘图窗口中支持鼠标双击事件。
EW_NOCLOSE禁用绘图窗口的关闭按钮。
EW_NOMINIMIZE禁用绘图窗口的最小化按钮。
EW_SHOWCONSOLE显示控制台窗口。

※2.返回值

返回新建绘图窗口的句柄。

※3.示例

以下代码片段创建一个尺寸为 640x480 的绘图窗口:

initgraph(640, 480);

以下代码片段创建一个尺寸为 640x480 的绘图窗口,同时显示控制台窗口:

initgraph(640, 480, EW_SHOWCONSOLE);

以下代码片段创建一个尺寸为 640x480 的绘图窗口,同时显示控制台窗口,并禁用关闭按钮:

initgraph(640, 480, EW_SHOWCONSOLE | EW_NOCLOSE);

2.setaspectratio

这个函数用于设置当前缩放因子。

void setaspectratio(
	float xasp,
	float yasp
);

※1.参数

xasp

x 方向上的缩放因子。例如绘制宽度为 100 的矩形,实际的绘制宽度为 100 * xasp。

yasp

y 方向上的缩放因子。例如绘制高度为 100 的矩形,实际的绘制高度为 100 * yasp。

3.setcliprgn

这个函数用于设置当前绘图设备的裁剪区。

void setcliprgn(HRGN hrgn);

※1.参数

hrgn

区域的句柄。创建区域所使用的坐标为物理坐标。
如果该值为 NULL,表示取消之前设置的裁剪区。

※2.返回值

※3.备注

HRGN 是 Windows 定义的表示区域的句柄。将该区域设置为裁剪区后,任何区域外的绘图都将无效(但仍然可以通过操作显示缓冲区在裁剪区外绘图)。

可以使用 Windows GDI 函数创建一个区域。例如,创建矩形区域可以使用函数:
HRGN CreateRectRgn(int left, int top, int right, int bottom);

此外,还可以使用函数 CreateEllipticRgn 创建椭圆形的区域,使用 CreatePolygonRgn 创建多边形的区域等等。还可以使用 CombineRgn 组合区域。更多关于区域的 GDI 函数,请参考 MSDN 中的 Region Functions。

注意:创建区域后,如果不再使用,请执行 DeleteObject(HRGN hrgn) 以释放该区域对应的系统资源。

※4.示例

以下代码用于创建一个矩形裁剪区,并在该裁剪区内画圆,请观察裁剪效果:

#include <graphics.h>
#include <conio.h>

int main()
{
	initgraph(640, 480);
	HRGN rgn = CreateRectRgn(100, 100, 200, 200);
	setcliprgn(rgn);
	DeleteObject(rgn);
	setcliprgn(NULL);
	circle(150, 150, 60);
	_getch();
	closegraph();
}

 

4.setorigin

这个函数用于设置坐标原点。

void setorigin(int x, int y);

x:原点的 x 坐标(使用物理坐标)。

y:原点的 y 坐标(使用物理坐标)。

今天的内容就是这样,下期再见!

举报

相关推荐

0 条评论