当前位置: 首页 > 要闻 > 详情

我做了一个Linux下的轻量级lvgl图片转换工具lv_img_conv

来源:哔哩哔哩    时间:2023-08-17 21:04:24


(资料图)

由于目前开发工作全部在Linux下,用lvgl的时候避免不了需要转换一些图片,先前在windows下都是使用大佬做的Lvglimgtool,但我找了好久都没找到linux下的第三方离线版本,而且lvgl官网的在线图片转换网页打开太慢,离线版又需要安装一堆东西, 因此就自己用图片解码库和C++写了一个轻量版lvgl图片转换工具。欢迎使用和指出bug。

项目链接:/Jumping99/lv_img_conv

工具的制作原理就是使用图片解码库将图片解码成图像数据,然后根据不同的参数写入对应的文件,c文件或bin文件。对于bmp图片,目前只支持rgb888格式的图片作为输入,用rgb565可能会出错,不过基本上使用的bmp图片都是rgb888格式的,也就没考虑加入对rgb565的bmp图片的支持了。

工具目前可以完成lvgl中3种常用的TRUE_COLOR图像的转换,也就是TRUE_COLOR、TRUE_COLOR_ALPHA和TRUE_COLOR_CHROMA_KEYED。目前只支持命令行的方式,未来可能考虑加入UI。

输入参数-h可以查看目前支持的参数,以下是目前支持的参数:

在这些参数中,-i参数是必须的,因为需要指定转换的图片,其余均有默认值,可以不指定,有需要的话可以修改,如要转换为bin文件,加入-b参数; 对于png图片需要透明通道则加入--alpha参数,这样生成后的数据就为TRUE_COLOR_ALPHA了。

总结来说,目前的功能足够大多数情况下的使用了,有一点不足的地方在于,不能通过参数进行批量转换,目前如果要实现批量转换只能自己编写shell脚本多次调用这个工具进行转换,未来有空再实现吧。

lvgl两大工具已经实现了一个了,下一个准备实现字体的转换lv_font_conv。

X 关闭

Copyright ©  2015-2022 每日商网版权所有  备案号:浙ICP备2022016517号-15   联系邮箱:5 146 761 13 @qq.com