主页 / 库函数目录 / 绘图环境 / initgraph

功能:

初始化绘图环境。

声明:
void initgraph(
    int width,
    int height
);

void initgraph(
    int width,
    int height,
    int initmode
);

void initgraph(
    int* gdriver,
    int* gmode,
    char* path
); // 兼容 Borland C++ 3.1 的重载,不建议使用。
参数: width 创建的窗口中,绘图区域的宽度。如果为 -1,则窗口使用屏幕的宽度。 height 创建的窗口中,绘图区域的高度。如果为 -1,则窗口使用屏幕的高度。 initmode 初始化模式,每个二进制位控制是否启用某种模式(值为 0 表示仅使用普通窗口,不启用额外的模式) 可以由以下模式进行组合:
初始化模式 说明
INIT_DEFAULT 0x0 普通窗口
INIT_NOBORDER 0x1 无边框窗口
INIT_CHILD 0x2 子窗口,需配合 attachHWND() 函数
INIT_TOPMOST 0x4 顶层窗口(不会被其它窗口遮挡)
INIT_RENDERMANUAL 0x8 手动渲染模式
INIT_NOFORCEEXIT 0x10 退出时不强制结束程序,而是设置标志位,可由 is_run() 判断
当设置了 INIT_NOFORCEEXIT 模式后,用户进行关闭窗口操作时窗口不会关闭,程序也不会退出,此时 is_run() 返回 false。
同时 getch(), getmouse() 之类的阻塞性函数将不再阻塞,由于窗口没有主动关闭,所以后续需要在代码中自行做窗口关闭和程序退出的相关处理。
INIT_UNICODE (20.08 起) 0x20 窗口使用 Unicode 字符集
INIT_HIDE (24.04) 0x40 窗口创建后隐藏不可见(便于在窗口首次显示时为画面内容做准备)
INIT_WITHLOGO 0x100 带 EGE logo 出场动画
设定的组合模式:
组合模式说明
INIT_ANIMATIONINIT_RENDERMANUAL 与 INIT_NOFORCEEXIT 模式的组合,用于动画
说明: 只有两个参数的函数 initgraph(width, height) 并未指定初始化模式,如果在此之前已经由 setinitmode() 指定 ,那么使用其指定的初始化模式。如果尚未指定,那么 initgraph(width, height) 将在不同的编译模式下使用不同的初始化模式:
编译模式初始化模式
DebugINIT_DEFAULT
ReleaseINIT_WITHLOGO
返回值: (无) 示例:
#include <graphics.h>
int main()
{
    initgraph(640, 480);
    circle(200, 200, 100);
    getch();
    cleardevice();
    getch();
    closegraph();
    return 0;
}