sunsili 发表于 2024-2-21 18:26:22

【开源推荐】GuiLite 一个优秀的单片机图形库

本帖最后由 sunsili 于 2024-3-13 22:32 编辑

【开源推荐】GuiLite 一个优秀的单片机图形库


    本文给大家推荐一个很不错的开源Gui库:GuiLite,非常好用,希望对你有所帮助。

大道至简 x- 4千行/仅头文件/全平台GUI库
GuiLite介绍
    GuiLite是一个开源的Gui框架,只依赖于一个单一的头文件库(GuiLite.h),不需要很复杂的文件管理,代码量平易近人,GuiLite由4千行C++代码编写,单片机上也能流畅运行,其最低的硬件运行要求如下:    同时GuiLite具有很强的跨平台特性:
[*]支持的操作系统:iOS/macOS/WatchOS,Android,Linux(ARM/x86-64),Windows(包含VR),RTOS… 甚至无操作系统的单片机
[*]支持的开发语言:C/C++, Swift, Java, Javascript, C#, Golang…
[*]支持的第3方库:Qt, MFC, Winforms, CoCoa…
    除此之外,GuiLite 提供一系列辅助开发工具:
[*]☁️完美的“云” + “物联网”解决方案:让你轻松驾驭全球IoT业务
[*]支持多语言,采用 UTF-8 编码;支持视频播放
[*]资源制作工具为你定制自己的字体/图片资源
[*]所见即所得的GUI布局工具
[*]编译活跃度统计,及实时分析
[*]支持3D & Web
[*]支持Docker,一条命令启动。
Docker: sudo docker run -it --privileged -v /dev:/dev-share idea4good/gui-lite:latest bash /run.sh
易学习+全面技术支持即使是C语言的初学者,也可以很快掌握GUI-lite;代码只使用C++的基本特性(类和虚函数),选择C++语言,能让代码体积更小,更易阅读。
[*]开发文档

[*]如何使用GUI-lite?
[*]软件设计说明
[*]如何布局UI?
[*]如何制作多种文字/位图资源?
[*]如何“换肤”?
[*]如何传递消息?
[*]核心UML示意图
[*]学习方法

[*]编译GUI-lite库
[*]编译、调试:HelloXXX实例程序
[*]研读、修改100+行的HelloXXX/UIcode/UIcode.cpp源代码
[*]研读widgets目录下的代码
[*]研读core目录下的代码
[*]扩展/开发自己的GUI库
[*]遇到任何问题,都可以联系我们,也欢迎加入我们的开发者大家庭
[*]GitHub链接





Gui移植结果
    下载完成后程序复位,可以在OLED上看到Demo的示例动画。   

Demo展示
[*]0依赖,100%编译通过,可直接运行
[*]点击你喜欢的实例,并运行在你的硬件上面
[*]大部分demo的UI代码只有100行左右,代码库在GuiLiteSamples

一些其他的演示效果单片机平台


3D on STM32
Wave on STM32
Particle on STM32
Star on STM32

3D wave on STM32
Keyboard on STM32
Mario on STM32
3D circle on STM32

3D donut on STM32
Timer
Molecule move
Pendulum effect
IoT 功能

Monitor IoT device on cloud
Code Telemetry & Analysis in real time
data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAMgAAADICAAAAACIM/FCAAACh0lEQVR4Ae3ch5W0OgyG4dt/mQJ2xgQPzJoM1m3AbALrxzrf28FzsoP0HykJEEAAAUQTBBBAAAEEEEAAAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEkKK0789+GK/I2ezfQB522PnS1qc8pGgXvr4tE4aY0XOUWlGImThWgyCk6DleixzE7qwBkg/MGiDPlVVAyp1VQGrPKiACDhFI6VkF5LmzCki+sg7IwDoglnVAil0IMkeG9CyUiwsxLFUVFzJJOQaKCjFCDN9RXMjIX7W6ztZXZDKKCyn8sWJvH+nca7WHDN9lROlAliPH9iRKCPI4cswFJQWxB46toLQgQ9jhn5QYZA9DOkoMUoQde5YapAxDWkoNYsOQR3KQd9CxUnIQF4S49CB9ENKlBxmDEKsFUgMCCCCAAHIrSF61f6153Ajy8nyiPr8L5MXnmm4CyT2fzN4DUvHZ+ntA2tOQBRBAAAEEEEAAAQQQ7ZBaC6TwSiDUaYHQ2yuB0MN+ft+43whyrs4rgVCjBUKTFshLC6TUAjGA3AxSaYFYLZBOC2RUAsk8h5qTg9QcbEoOsoQhQ2qQhsO5xCD5dgB5JQaZ+KBKGtKecvR81Ic0ZDjByKdDx0rSEDZ/djQbH+bkIdvfJFm98BfV8hD2zprfVdlu9PxVeyYAkciREohRAplJCaRSAplJCcQogTjSAdlyHRBvSAekJR0QRzogA+mADJkOiCPSAPEtqYBshlRAXC43hxix2QiOuEZkVERykGyNo9idIZKE0HO7XrG6OiMShlDWjstVzdPgXtUH9v0CEidAAAEEEEAAAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEAAAQQQQP4HgjZxTpdEii0AAAAASUVORK5CYII=
Track IoT device over the world
多语言开发,工具、视频

Lattice Font
Freetype Font

Layout GUI
Render JPG file quickly

Play video with FFmpeg
UI 控件

Emulate Windows UI
Scroll widget

How to use widgets
3D Nets on Windows/Linux

Transparent dialog
Swipe view
跨平台

HostMonitor on Windows
HostMonitor on Mac
HostMonitor on Android

HostMonitor on Windows Mixed Reality
HostMonitor on Linux
3D on Web

3D on Web
HostMonitor on iPhone
How display work
苹果平台

3D on Apple Watch
Wave on Apple Watch
Particle on iPhone



页: [1]
查看完整版本: 【开源推荐】GuiLite 一个优秀的单片机图形库