LVGL 像文字一样,显示任意自定义符号

本文介绍了如何利用LVGL的多语言转换工具MCU_Font_Release在汽车仪表盘等场景下,自定义添加带有特定符号且支持颜色变化的字体。作者分享了LVGL代码修改过程,包括添加图片符号、调整宽度和坐标信息等内容。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

 颜色可以在程序中设定,符号的C数组生成

有牛人谢了更好地文章和工具,请查阅:

 

LVGL的多语言转换工具--MCU_Font_Releaseicon-default.png?t=N7T8https://www.21ic.com/a/934468.html

吴斌 / MCU_Font_Releaseicon-default.png?t=N7T8https://gitee.com/WuBinCPP/MCU_Font_Release

这种应用非常适合类似汽车仪表盘中,有很多行业内特定符号需要显示的场景,而且符号需要根据情况改变颜色。网上这方面基本没有资料,本文是作者根据LVGL自定义字库的源代码修改来实现的。

使用工具:

设置:(根据液晶屏不同可能不同)

LVGL代码手动更改

在之前生成的自定义字体文件内:

  1. 在glyph_bitmap中添加图片符号或者文字数据
  2. 修改glyph_dsc中需要显示符号的信息:
    1. bitmap_index:数据在glyph_bitmap中的偏移量
    2. adv_w符号的宽度
    3. box_h,box_w:符号显示的外围框的高和宽(想象文字大小小于框)
    4. ofs_x,ofs_y:符号在显示框中的坐标信息
  3. 修改unicode_list_1:在相应的显示内容中输入这里的字符就会显示真实的符号(这里的字符指向数据中的符号)
  4. 修改lv_font_fmt_txt_cmap_t中的信息:
    1. range_start:unicode_list_1中第一个
    2. range_length:unicode_list_1中最后一个
    3. list_length一共有多少个符号
  5. 修改myFont
    1. line_height//这里限定了一系列文字(或者图标之中最高的显示高度)

具体自定义字库如何在LVGL内添加,网上太多了,可以找来自己看。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值