C语言

您所在的位置:网站首页 closegraph函数 C语言

C语言

2024-05-21 10:27| 来源: 网络整理| 查看: 265

绘图环境相关函数如下: 一、cleardevice

这个函数用于清除屏幕内容。具体的,是用当前背景色清空屏幕,并将当前点移至 (0, 0)。

void cleardevice(); 二、initgraph

这个函数用于初始化绘图环境。

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

参数:

width

绘图环境的宽度。

height

绘图环境的高度。

flag

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

NOCLOSE 禁用绘图环境的关闭按钮。NOMINIMIZE 禁用绘图环境的最小化按钮。SHOWCONSOLE 保留原控制台窗口。

返回值:

创建的绘图窗口的句柄。

示例:

以下局部代码创建一个尺寸为 640x480 的绘图环境:

initgraph(640, 480);

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

initgraph(640, 480, SHOWCONSOLE);

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

initgraph(640, 480, SHOWCONSOLE | NOCLOSE); 三、closegraph

这个函数用于关闭图形环境。

void closegraph(); 四、getaspectratio

这个函数用于获取当前缩放因子。

void getaspectratio( float *pxasp, float *pyasp );

参数:

pxasp

返回 x 方向上的缩放因子。

pyasp

返回 y 方向上的缩放因子。

五、setaspectratio

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

void setaspectratio( float xasp, float yasp );

参数:

xasp

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

yasp

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

返回值:

(无)

说明:

如果缩放因子为负,可以实现坐标轴的翻转。例如,执行 setaspectratio(1, -1); 后,可使 y 轴向上为正。

六、graphdefaults

这个函数用于重置视图、当前点、绘图色、背景色、线形、填充类型、字体为默认值。

void graphdefaults(); 七、setorigin

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

void setorigin(int x, int y);

x

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

y

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

八、setcliprgn

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

void setcliprgn(HRGN hrgn);

参数:

hrgn

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

返回值:

(无)

说明:

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

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

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

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

示例:

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

#include #include 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(); } 九、clearcliprgn

这个函数用于清空裁剪区的屏幕内容。

void clearcliprgn();


【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3