# SCGUI **Repository Path**: li_yucheng/scgui ## Basic Information - **Project Name**: SCGUI - **Description**: /* * SC_GUI for V2. 0 * 一个小内存(1-3k)的开源GUI,支持LVGL抗锯齿字体,动态文字,实用波形图,支持双DMA,简易图层叠加 * 感谢网友开源工具Lvgl Font Tool V0.4 生成 阿里(qq:617622104) * 作者:黎R(WX:13018616872) * 社区:(QQ群:799501887) */ - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: SCGUI_DEV - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 94 - **Forks**: 30 - **Created**: 2023-09-03 - **Last Updated**: 2026-01-26 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # SCGUI 轻量级GUI框架 SCGUI是一个专为嵌入式系统设计的轻量级GUI框架,针对资源受限环境进行了优化,提供高效的图形渲染和界面管理功能。 ## 特性 - 高效的脏矩形管理机制,减少不必要的屏幕刷新 - 分帧缓冲(PFB)渲染,支持大尺寸显示器的内存优化 - 优化的绘图功能,包括抗锯齿线条绘制 - 灵活的对齐和布局系统 - 跨编译器支持,兼容多种嵌入式开发环境 - 完整的颜色系统,提供丰富的预定义颜色 ### 显示配置 - 屏幕分辨率: 320x240 可通过sc_common.hE配置 - 颜色深度:16位 - 帧缓冲大小:可通过SC_PFB_BUF_SIZE配置 - DMA支持:可选双缓冲和字节序配置 - Unicode编码:支持16位/32位编码 ## 性能优化 1. 内存使用优化 - 分帧缓冲减少内存占用,可配置的缓冲区大小 - 内存高效的分片渲染机制,支持双缓冲DMA传输 2. 渲染优化 - 脏矩形缓冲池:默认8个,可根据需要调整 - 动态合并阈值:根据使用情况自动调整,使用静态数组实现高效的脏区域追踪 - 智能合并算法,优化渲染性能,支持动态阈值调整,防止全屏绘制,脏区域精确更新 - DMA硬件加速支持 3. 计算优化 - 查表法三角函数 - 优化的Alpha混合 - 化化的旋转算法,支持任意角度抗锯齿旋转,支持图片与文本旋转缩放 ## 绘图引擎 - 常用图形绘制函数都支持Alpha混合抗锯齿 - 抗锯齿线条绘制 - 圆角矩形绘制 - 圆弧绘制,任意角度圆弧,支持渐变 - 图像绘制,支持压缩或透明度,支持旋转缩放 - 动画绘制,支持帧动画压缩一键生成 - 文本兼容lvgl字库,Unicode编码,一键生成 - 文本扩展,流动文字,旋转缩放,带光标编辑文本框,支持长文本自动换行,数值显示,间距调节 ### 支持自定义控件组合,由基础控件组合成复杂控件 - 进度条, - 滑动条, - 按钮控件, - 消息框, - 菜单控件, - 列表控件, - 表格控件, - 图表控件, ## 布局系统 - 支持水平布局 - 支持垂直布局 - 支持对齐方式 ## API概览 ## 编译器支持 - vscode 编译器配置settings.json 和 tasks.json 指定gcc.exe路径默认"C:/MinGW/bin/gcc.exe", - 编译运行:终端->运行任务->build-adn-run 快捷键 Ctrl+Shift+B ## 许可证 ## 贡献指南