0

0

C++怎么画圆 C++ EasyX图形库circle函数使用演示【绘图】

裘德小鎮的故事

裘德小鎮的故事

发布时间:2026-01-26 14:38:02

|

694人浏览过

|

来源于php中文网

原创

用 EasyX 画圆必须先调用 initgraph() 初始化图形窗口,再用 fillcircle(x,y,r) 绘制实心圆,注意坐标原点在左上角、需 setcolor/setfillcolor 设颜色,并以 _getch() 阻塞等待、closegraph() 释放资源。

c++怎么画圆 c++ easyx图形库circle函数使用演示【绘图】

EasyX 在 C++ 里画圆,核心就是调用 circle() 函数,但直接写 circle(100, 100, 50) 很可能什么也不显示——缺初始化、缺绘图窗口、缺消息循环,甚至坐标系默认原点在左上角,容易误判位置。

必须先初始化 EasyX 图形环境

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()

完整可运行示例(带颜色、居中、防闪屏)

下面这段代码能立刻跑起来,画一个红色实心圆,居中显示:

NeoAgent
NeoAgent

销售易推出的AI‑CRM智能体平台

下载

立即学习C++免费学习笔记(深入)”;

#include 
int 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(),或者忘了阻塞等待,就会陷入“代码没错却看不到图”的状态。

热门AI工具

更多
DeepSeek
DeepSeek

幻方量化公司旗下的开源大模型平台

豆包大模型
豆包大模型

字节跳动自主研发的一系列大型语言模型

通义千问
通义千问

阿里巴巴推出的全能AI助手

腾讯元宝
腾讯元宝

腾讯混元平台推出的AI助手

文心一言
文心一言

文心一言是百度开发的AI聊天机器人,通过对话可以生成各种形式的内容。

讯飞写作
讯飞写作

基于讯飞星火大模型的AI写作工具,可以快速生成新闻稿件、品宣文案、工作总结、心得体会等各种文文稿

即梦AI
即梦AI

一站式AI创作平台,免费AI图片和视频生成。

ChatGPT
ChatGPT

最最强大的AI聊天机器人程序,ChatGPT不单是聊天机器人,还能进行撰写邮件、视频脚本、文案、翻译、代码等任务。

相关专题

更多
c语言中null和NULL的区别
c语言中null和NULL的区别

c语言中null和NULL的区别是:null是C语言中的一个宏定义,通常用来表示一个空指针,可以用于初始化指针变量,或者在条件语句中判断指针是否为空;NULL是C语言中的一个预定义常量,通常用来表示一个空值,用于表示一个空的指针、空的指针数组或者空的结构体指针。

235

2023.09.22

java中null的用法
java中null的用法

在Java中,null表示一个引用类型的变量不指向任何对象。可以将null赋值给任何引用类型的变量,包括类、接口、数组、字符串等。想了解更多null的相关内容,可以阅读本专题下面的文章。

437

2024.03.01

c++ 根号
c++ 根号

本专题整合了c++根号相关教程,阅读专题下面的文章了解更多详细内容。

70

2026.01.23

c++空格相关教程合集
c++空格相关教程合集

本专题整合了c++空格相关教程,阅读专题下面的文章了解更多详细内容。

72

2026.01.23

yy漫画官方登录入口地址合集
yy漫画官方登录入口地址合集

本专题整合了yy漫画入口相关合集,阅读专题下面的文章了解更多详细内容。

297

2026.01.23

漫蛙最新入口地址汇总2026
漫蛙最新入口地址汇总2026

本专题整合了漫蛙最新入口地址大全,阅读专题下面的文章了解更多详细内容。

469

2026.01.23

C++ 高级模板编程与元编程
C++ 高级模板编程与元编程

本专题深入讲解 C++ 中的高级模板编程与元编程技术,涵盖模板特化、SFINAE、模板递归、类型萃取、编译时常量与计算、C++17 的折叠表达式与变长模板参数等。通过多个实际示例,帮助开发者掌握 如何利用 C++ 模板机制编写高效、可扩展的通用代码,并提升代码的灵活性与性能。

17

2026.01.23

php远程文件教程合集
php远程文件教程合集

本专题整合了php远程文件相关教程,阅读专题下面的文章了解更多详细内容。

114

2026.01.22

PHP后端开发相关内容汇总
PHP后端开发相关内容汇总

本专题整合了PHP后端开发相关内容,阅读专题下面的文章了解更多详细内容。

77

2026.01.22

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
10分钟--Midjourney创作自己的漫画
10分钟--Midjourney创作自己的漫画

共1课时 | 0.1万人学习

Midjourney 关键词系列整合
Midjourney 关键词系列整合

共13课时 | 0.9万人学习

AI绘画教程
AI绘画教程

共2课时 | 0.2万人学习

关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号