当前位置: 首页 > news >正文

图形库 EasyX - EasyX 初识(EasyX 概述、EasyX 下载与安装、打开一个窗口、打开一个彩色窗口、绘制简易图形、输出文字)

一、EasyX 概述

  1. EasyX 是一款专为 C++ 开发者设计的轻量级图形库,主要面向 Windows 平台,它有如下特点

  2. EasyX 的 API 设计简洁直观,易学易用,绘图效果所见即所得


二、EasyX 下载与安装

1、EasyX 下载
  • 官方网址:https://easyx.cn/
2、EasyX 安装
3、EasyX 验证安装
  • 新建项目,包含 graphics.h 头文件,不报错即安装成功
#include <graphics.h>

int main()
{
    return 0;
}

三、打开一个窗口

1、具体实现
#include <graphics.h>
#include <conio.h>

int main()
{
    initgraph(640, 480);

    _getch();
    closegraph();

    return 0;
}
  1. initgraph()graphics.h 提供的函数,用于创建窗口

  2. getch()conio.h 提供的函数,它会暂停程序,直到用户按下任意键,这样窗口就不会立即关闭

  3. closegraph()graphics.h 提供的函数,用于关闭窗口

2、注意事项
  • 如果代码写成如下形式,窗口创建后,程序就会立即退出
#include <graphics.h>
#include <conio.h>

int main()
{
    initgraph(640, 480);

    return 0;
}
  1. initgraph() 创建了窗口,但程序继续执行到 return 0;,导致主函数结束,窗口被关闭

  2. 图形程序通常需要事件循环或等待用户输入,否则窗口会一闪而过


四、打开一个彩色窗口

1、具体实现
#include <graphics.h>
#include <conio.h>

int main()
{
    initgraph(640, 480);

    setbkcolor(RGB(135, 206, 235));
    cleardevice();

    _getch();
    closegraph();

    return 0;
}
2、注意事项
  • 如果代码写成如下形式,打开的还是一个黑色窗口
#include <graphics.h>
#include <conio.h>

int main()
{
    initgraph(640, 480);

    setbkcolor(RGB(135, 206, 235));

    _getch();
    closegraph();

    return 0;
}
  1. setbkcolor() 只是设置背景色,并不会立即改变当前屏幕颜色

  2. setbkcolor() 影响的是后续调用清屏函数 cleardevice() 时的填充颜色

  3. 必须先 setbkcolor() 设置颜色,然后 cleardevice() 应用颜色

  4. 简单来说,setbkcolor() 是改变了清屏时使用的颜色,要真正看到效果,必须配合 cleardevice() 使用


五、绘制简易图形

1、绘制矩形
#include <graphics.h>
#include <conio.h>

int main()
{
    initgraph(640, 480);

    setbkcolor(RGB(135, 206, 235));
    cleardevice();

    setlinecolor(RGB(255, 0, 0));
    setfillcolor(RGB(0, 255, 0));

    fillrectangle(100, 100, 300, 300);

    _getch();
    closegraph();

    return 0;
}
  1. setlinecolor() 用于设置图形线条颜色

  2. setfillcolor() 用于设置图形填充颜色

  3. fillrectangle() 用于绘制一个矩形,它的 4 个参数分别是,矩形左上角 x 坐标、矩形左上角 y 坐标、矩形右下角 x 坐标、矩形右下角 y 坐标

2、绘制圆形
#include <graphics.h>
#include <conio.h>

int main()
{
    initgraph(640, 480);

    setbkcolor(RGB(135, 206, 235));
    cleardevice();

    setlinecolor(RGB(255, 0, 0));
    setfillcolor(RGB(0, 255, 0));

    fillcircle(400, 200, 100);

    _getch();
    closegraph();

    return 0;
}
  • fillcircle() 用于绘制一个矩形,它的 3 个参数分别是,圆心的x坐标、圆心的y坐标、圆的半径

六、输出文字

#include <graphics.h>
#include <conio.h>

int main()
{
    initgraph(640, 480);

    setbkcolor(RGB(135, 206, 235));
    cleardevice();

    settextcolor(RGB(0, 0, 255));
    settextstyle(30, 0, _T("宋体"));
    outtextxy(200, 400, _T("Hello World"));

    _getch();
    closegraph();

    return 0;
}
  1. settextcolor() 用于设置文字颜色

  2. settextstyle() 用于设置文字样式,它的 3 个参数分别是,字体高度、字体宽度、字体名称

  3. outtextxy() 用于输出文字,它的 3 个参数分别是,文字左上角的 x 坐标、文字左上角的y坐标、文字内容

http://www.dtcms.com/a/108839.html

相关文章:

  • .NET 创建MCP使用大模型对话二:调用远程MCP服务
  • 本地化部署DeepSeek-R1蒸馏大模型:基于飞桨PaddleNLP 3.0的实战指南
  • OC添加滑块验证码
  • XLRS-Bench:您能否理解极端大型超高分辨率遥感影像?
  • 预测分析(三):基于机器学习的分类预测
  • 基于微信小程序的生签到系统设计与实现
  • c语言数据结构--------拓扑排序和逆拓扑排序(Kahn算法和DFS算法实现)
  • MySQL的安装与初始化流程
  • 联想M7400打印机怎么清零
  • 基于LangChain和通义(Tongyi)实现NL2SQL的智能检索(无需训练)
  • Spring Boot 3.4.3 和 Spring Security 6.4.2 实现基于内存和 MySQL 的用户认证
  • 《Linux内存管理:实验驱动的深度探索》【附录】【实验环境搭建 1】【Qemu 运行 linux 6.0.9】
  • c++函数中的多态是怎样体现的
  • Cursor的主要好处
  • 【排序算法】堆排、快排、归并排、各种排
  • 动态规划 线性dp系列:数字三角形
  • Mysql 中数据主键类型不一样导致数据插入速度快慢问题
  • Java开发如何基于 Spring AI Alibaba 玩转 MCP:从发布、调用到 Claude Manus 集成
  • 2.5路径问题专题:LeetCode 64. 最小路径和
  • Python的三方库之Pandas(三)
  • MetaBase Mysql8.0连接不上
  • 怎么理解量子比特模型,迁移到量子计算机开始编程
  • 飞桨新一代框架3.0正式发布:加速大模型时代的技术创新与产业应用
  • AF3 OpenFoldMultimerDataset类解读
  • 洛谷题单3-P1035 [NOIP 2002 普及组] 级数求和-python-流程图重构
  • JavaScript日期对象
  • Python 编程实战:打造高效便捷的目录结构生成器
  • 踩坑ubuntu24.04 编译vtk9.3.1的安卓版本
  • 前端开发技术演进与就业现实:顺应时代方能不被淘汰-优雅草卓伊凡
  • ubantu执行sudo chown -R username xxx(文件夹)命令失效