# HiEasyX **Repository Path**: gfigure/hi-easyx ## Basic Information - **Project Name**: HiEasyX - **Description**: HiEasyX 是为 EasyX 图形库设计的轻量级扩展库,旨在帮助开发者快速构建 GUI 测试界面或开发简单图形应用程序。通过即时模式(IMGUI)设计,HiEasyX 提供简洁高效的 GUI 元素管理,同时集成实用绘图辅助功能,大幅降低 EasyX 用户的上手门槛和开发成本。 - **Primary Language**: Unknown - **License**: MIT - **Default Branch**: main - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 25 - **Forks**: 2 - **Created**: 2025-02-09 - **Last Updated**: 2025-12-21 ## Categories & Tags **Categories**: Uncategorized **Tags**: GUI, UI, EasyX, imgui ## README
![](readme/logo.png) # HiEasyX Preview [![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT) [![PRs Welcome](https://img.shields.io/badge/PRs-welcome-brightgreen.svg)](https://gitee.com/gfigure/hi-easy-x/pulls) [HiEasyX.cn](https://www.hieasyx.cn) 为 EasyX 图形库注入新活力!让 EasyX 使用快如闪电! **欢迎你为我们的仓库点上一个免费的 star⭐,这将鼓舞我们继续维护开发 HiEasyX。** 欢迎加入我们的 QQ 交流群:761990769
--- > **测试阶段通知** > 当前版本为 HiEasyX 的全新迭代版本,目前还有还有部分功能没有实现,以及官网文档内容尚未完善。正处于公开测试阶段。我们诚挚邀请您参与体验测试,任何问题或建议欢迎通过 Issues 反馈! > > 开发者们都是兼职开发,问题处理可能不及时。但是一般半个月内会集中处理一批问题。
## 📃介绍 HiEasyX 是一个轻量、易用的 EasyX 扩展库。它使用即时性 GUI(IMGUI)为 EasyX 提供了一个易用简单的 GUI 扩展(并且会在未来继续扩展 EasyX 的绘图、窗口功能)。它直接在指定的 EasyX 缓冲区上进行绘图操作。 HiEasyX 具有极高的灵活性。**无需对已有的 EasyX 代码做任何修改**,就可以轻松将 HiEasyX 集成在你的项目中。无需复杂的界面设计,没有复杂的接口操作,十几行代码便可以构建一个交互界面。 不论您是用于**教学演示程序构建**,还是**图形学算法快速验证**,或是将 HiEasyX 用于**你的毕业设计**当中。HiEasyX 都能成为你的一位好帮手。 HiEasyX 是自由的,HiEasyX 以 MIT 协议开源,您可以以任何目的、利益免费自由地在任何场合使用 HiEasyX。 ## ✨项目特色 - **零成本集成** - 完全兼容现有 EasyX 项目,无需修改任何已有代码 - **极简 IMGUI** - 类即时模式的 GUI 设计,十几行代码构建基础界面 - **轻量易用** - 核心代码约 5000 行,无需复杂的配置过程 - **教学友好** - 特别适合图形学教学演示和算法可视化开发 - **自由开源** - MIT 协议,可免费用于商业和学术用途 - **完整的文档** - [我们的官网](https://www.hieasyx.cn/docs/%E5%BF%AB%E9%80%9F%E5%BC%80%E5%A7%8B/intro)提供了所有控件的使用说明和注意事项,并提供一个开发者友好的文档助力您的开发。 ## 🚀快速开始 无需繁琐的配置编译。您可以直接将 HiEasyX 的源码直接配置到您的项目中。您只需要: 1. 克隆或下载源码 2. 添加 HiEasyX 的头文件目录 3. 引用 HiEasyX 的头文件 就可以开始使用 HiEasyX 了。 ```cpp HX::Window(HXStr("Hello World!"), windowProfile); HX::Text(HXStr("Hello HiEasyX!")); static int count = 0; static HX::ButtonProfile buttonProfile; HX::BeginSameLine(); if (HX::Button(HXStr("Hello Button"), buttonProfile)) { ++count; } HX::Text(HXStr("Count : ") + ToHXString(count)); HX::EndSameLine(); static HX::SliderProfile1f sliderProfile{ .MinValue = 0.f, .MaxValue = 4.f }; static float value = 0; HX::Slider1f(HXStr("Float Slider"), value, sliderProfile); static HX::TextInputProfile textInputProfile{ .Text = HXStr("这是一个文本输入框"), .Size = {windowProfile.Size.X - 10, 70} }; HX::TextInput(textInputProfile); ```
完整代码请查阅目录下的 `/example/EasyX/HelloWorld.cpp`。欢迎您来[我们的官网](https://hieasyx.cn/docs/%E5%BF%AB%E9%80%9F%E5%BC%80%E5%A7%8B/intro)查阅具体的入门文档 ## 📚与 EasyX 无缝交互 代码目录下的 `/example/EasyX/Dashboard.cpp` 展示了 HiEasyX 是如何做到和 EasyX 的无缝交互的。您只需要在原本的 EasyX 代码基础上补充部分 HiEasyX 的代码,即可将 HiEasyX 与 EasyX 整合起来。
## 🤝问题反馈与项目贡献 如果您在使用 HiEasyX 过程中遇到了任何问题。包括但不限于 bug、文档错误或者是您使用过程中有什么不明白的地方希望得到解答。我们都十分欢迎通过 Gitee 的 Issues 板块向我们反应咨询。 ## 📦兼容性 使用 HiEasyX 本体,需要您的编译器起码支持 C11 的特性(目录下的 `example` 文件中的部分样例可能需要 C20 特性)。请确保您的 EasyX 库版本起码为 `2023-7-23`。 对于 Visual Studio 用户,截至目前我们测试过 `Visual Studio 2022` 和 `Visual Studio 2019` 是可以正常使用的。更多 Visual Studio 版本的向前兼容测试正在进行中。 对于 MinGW 用户,我们的代码仓库采用 CMake 作为构建系统,您可以通过 CMake 构建出您的编译器所对应的 HiEasyX。具体步骤,请参考[我们的官网](https://hieasyx.cn/docs/%E5%BF%AB%E9%80%9F%E5%BC%80%E5%A7%8B/%E9%85%8D%E7%BD%AE%20HiEasyX/CMake%20%E9%85%8D%E7%BD%AE)。