这个函数用于清除屏幕内容。具体的,是用当前背景色清空屏幕,并将当前点移至 (0, 0)。
void cleardevice();
这个函数用于初始化绘图环境。
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);
这个函数用于关闭图形环境。
void closegraph();
这个函数用于获取当前缩放因子。
void getaspectratio( float *pxasp, float *pyasp );
参数:
pxasp
返回 x 方向上的缩放因子。
pyasp
返回 y 方向上的缩放因子。
这个函数用于设置当前缩放因子。
void setaspectratio( float xasp, float yasp );
参数:
xasp
x 方向上的缩放因子。例如绘制宽度为 100 的矩形,实际的绘制宽度为 100 * xasp。
yasp
y 方向上的缩放因子。例如绘制高度为 100 的矩形,实际的绘制高度为 100 * yasp。
返回值:
(无)
说明:
如果缩放因子为负,可以实现坐标轴的翻转。例如,执行 setaspectratio(1, -1); 后,可使 y 轴向上为正。
这个函数用于重置视图、当前点、绘图色、背景色、线形、填充类型、字体为默认值。
void graphdefaults();
这个函数用于设置坐标原点。
void setorigin(int x, int y);
x
原点的 x 坐标(使用物理坐标)。
y
原点的 y 坐标(使用物理坐标)。
这个函数用于设置当前绘图设备的裁剪区。
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 <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(); }
这个函数用于清空裁剪区的屏幕内容。
void clearcliprgn();
如果觉得我的文章对您有用,请随意打赏。你的支持将鼓励我继续创作!