LCD Image Converter:5 分钟把 PNG 图片转成能烧进嵌入式屏幕的 C 数组

📅 发布时间:2026/8/22 18:18:36
LCD Image Converter:5 分钟把 PNG 图片转成能烧进嵌入式屏幕的 C 数组
LCD Image Converter5 分钟把 PNG 图片转成能烧进嵌入式屏幕的 C 数组【免费下载链接】lcd-image-converterTool to create bitmaps and fonts for embedded applications, v.2项目地址: https://gitcode.com/gh_mirrors/lc/lcd-image-converterLCD Image Converter 是一个用 Qt 写的桌面工具专门给嵌入式开发者做图片转 C 代码这件事把 PNG 图标和点阵字体转成能直接编译进单片机工程的 C 数组。它的目标人群是手里有一块小彩屏或 OLED 的固件工程师解决的具体麻烦是——手工把位图排进内存格式既费时间又容易错数错一个字节位屏上就是花屏。 先看效果一张 PNG 是怎么变成可编译的 .c 文件的场景设计师给你一张 128×64 的图标 PNG而你的屏是 16 位 RGB565、从左上角开始逐行扫描。流程走一遍导入这张 PNG在设置里选一个预设——预设就是一套针对某块屏的转换参数位深、扫描方向、字节块大小全在里面勾选 RLE 压缩也就是游程压缩原理一句话把连续 50 个相同值记成50 该值专治大面积同色点导出。你会得到一个 .c 文件一个 const 数组装着像素数据外加一个带宽高字段的结构体。粘进工程直接编译没有中间步骤。导入之前它还带画图工具铅笔、矩形、反色都能用手痒可以先修两张像素再导出。⚙️ 它是怎么做到的值得讲的有两个点。RLE 压缩像报数游戏。原始数据是 4000 个像素点压缩后可能只剩几百条颜色 连续次数的记录代码生成时每条记录展开成一个数值后面跟一个次数。图标这种大面积单色的图1 位深度的 128×64 图原始 1024 字节压完常见能省一半左右。它有个minimumOfEquals参数控制连多长才值得压短游程就原样存避免压缩后反而变大。实现就在 classes/compression/rlecompressor.cpp数据块支持 8/16/24/32 位。预设 一整块屏幕的说明书。位深多少位、扫描方向、字节序、要不要 RLE这些参数打包成一个有名字的预设存起来换屏不用重新想一遍。生成代码的骨架来自模板文件resources/image.tmpl里的$(doc_name)、$(out_bpp)这些占位符想换输出风格改模板就行转换逻辑一行不用动。闭眼用的场景 vs 要三思的场景适合单色或 16 位小彩屏的图标、状态栏图片只需要部分字符的字库比如只转 0-9 给仪表盘用需要旋转、翻转适配屏幕方向把批量 PNG 转 C 代码接进构建脚本——它的命令行模式就是为 CI 准备的。不适合项目已经用 LVGL 这类自带资源打包器的图形库——那种情况用官方工具更顺本工具适合当看数据排布的调试辅助需要真彩色照片或实时缩放旋转——位图尺寸是死的放大会糊另外它维护节奏偏慢遇到新屏型多半要自己加预设或改模板。 五分钟上手克隆并编译要求 Qt 5.5git clone https://gitcode.com/gh_mirrors/lc/lcd-image-converter cd lcd-image-converter qmake make可执行文件在linux/或windows/目录。GUI 里导入 PNG、建一个预设位深、扫描方向、在模板页看生成的 C 代码预览满意就导出。命令行只需一行--preset-name必须是设置里已存在的预设名./lcd-image-converter --modeconvert-image \ --inputicon.png --outputicon.c \ --doc-nameIconHome --preset-namelcdR4G5B4跑完打开icon.c文件头会列出位深、RLE、扫描方向等关键参数数组 结构体直接粘进工程编译。收尾LCD Image Converter 把位图怎么排进内存这件容易出错的事固化成了预设和模板再配上命令行模式资源更新就不再靠手工。如果你手头正有一张烧进去全是花屏的图标花十分钟装上它把这张图转一遍试试。【免费下载链接】lcd-image-converterTool to create bitmaps and fonts for embedded applications, v.2项目地址: https://gitcode.com/gh_mirrors/lc/lcd-image-converter创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考