VS2019中使用LVGL显示中文

学习中遇到的问题记录。

(我的LVGL版本由9.0改为了8.3,因为这个版本下的资料网上比较多)

首先,根据网上大佬的说法,在LVGL中内置了一些中文的字库,当有需要的字库时就可以去查找,然后使用,但是我不知道为什么用不了,因此有了这篇文章。

至于内置的字库,可以去找到这个文件里面去查找,然后在    lv_conf.h   中打开   LV_FONT_SIMSUN_16_CJK  宏定义

LVGL是可以自定义字库的,然后LVGL官方给出了一个网站可以在线转换字库,我们首先要做的就是需要去拿到一个语言包,这个网站可以去下载想要的中文语言包,这个是韦东山老师的网站。

显示中文 — LVGL 文档 (100ask.net)

以这个"思源黑体Bold"字体为例,点击即可下载

不过下载后有可能会遇到这种情况

这个不用担心,找到下载位置,然后把后缀改成.zip正常解压就好,然后你会得到这个文件

然后去LVGL的在线转换网站

Font Converter — LVGL

随后你就会得到一个.c文件,把这个文件添加到你的文件夹里,像这样

添加到工程就好了

注意要把编码格式改为UTF8(这个请大家自己去找吧,还是比较容易的)

随后在全局声明这个字库

然后在你想要使用的地方用样式方式去设置这个字体

    static lv_style_t style_font;//定义一个样式
    lv_style_init(&style_font);   // 初始化样式
    lv_style_set_text_font(&style_font, &lv_font_chinese_siyun_blod); // 样式设置字体
    lv_style_set_text_color(&style_font, lv_palette_main(LV_PALETTE_RED));//设置字体为红色

    /* 用户标签 */
    lv_obj_t* label_user = lv_label_create(lv_scr_act());                                       /* 创建标签 */
    lv_label_set_text(label_user, "你好");                                                      /* 设置文本 */
    lv_obj_add_style(label_user, &style_font, LV_STATE_DEFAULT);
    lv_obj_set_style_text_align(label_user, LV_TEXT_ALIGN_CENTER, LV_PART_MAIN);                /* 设置文本居中 */
    lv_obj_align_to(label_user, img, LV_ALIGN_OUT_BOTTOM_MID, 0, -30);                           /* 设置位置 */

注意这只是个示例!!!我没有全部的代码,只是贴了字库相关的代码,这是生成结果。

END.

  • 4
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值