用 EasyX 画圆必须先调用 initgraph() 初始化图形窗口,再用 fillcircle(x,y,r) 绘制实心圆,注意坐标原点在左上角、需 setcolor/setfillcolor 设颜色,并以 _getch() 阻塞等待、closegraph() 释放资源。
用 EasyX 在 C++ 里画圆,核心就是调用 circle() 函数,但直接写 circle(100, 100, 50) 很可能什么也不显示——缺初始化、缺绘图窗口、缺消息循环,甚至坐标系默认原点在左上角,容易误判位置。
EasyX 不是标准库,所有绘图前必须调用 initgraph() 创建绘图窗口,否则 circle() 会静默失败或触发断言错误。
initgraph(640, 480) 最简启动,创建 640×480 窗口initgraph(640, 480, INIT_NO_CONSOLE)
NULL,说明初始化失败(比如没装 EasyX 或路径不对)closegraph(),否则窗口卡死或资源泄漏circle() 的三个参数含义和常见误区circle(x, y, r) 画的是以 (x, y) 为圆心、半径为 r 的空心圆。注意:x/y 是屏幕像素坐标,原点 (0, 0) 在左上角,不是数学常见的中心原点。
x 超出窗口右边界(比如窗口宽 640,却设 x=700),整圆不可见r 为 0 或负数,函数不报错但不绘制;r 过大会导致圆被裁剪成椭圆片段setcolor() 提前设置,例如 setcolor(RED)
fillcircle()
下面这段代码能立刻跑起来,画一个红色实心圆,居中显示:

#includeint main() { initgraph(640, 480, INIT_NO_CONSOLE); setcolor(RED); setfillcolor(RED); fillcircle(320, 240, 100); // 居中:x=宽/2, y=高/2 _getch(); // 等待按键,防止窗口一闪而过 closegraph(); return 0; }
fillcircle() 替代 circle() 更符合“画圆”的直觉需求_getch() 是关键:没有它,程序执行完立即退出,窗口瞬间关闭initgraph();一次初始化后可多次绘图真正容易被忽略的不是函数怎么写,而是 EasyX 的生命周期管理——漏掉 initgraph() 或 closegraph(),或者忘了阻塞等待,就会陷入“代码没错却看不到图”的状态。