littleVGL开发(13):汉字显示

本文档详细介绍了如何在LittlevGL嵌入式系统中显示汉字,包括使用字体取模工具将TTF字体转换为C数组,以及在代码中创建样式并绑定自定义字体,以实现汉字的正确渲染。
摘要由CSDN通过智能技术生成

专栏说明

        本专栏针对 LittlevGL介绍、开发和使用。 LittlevGL是一个开源的图像库,具有很好的移植性,无论是想在Windows、Ubuntu、嵌入式linux下开发,各种控件的介绍和使用,本专栏都有介绍

        littleVGL的介绍

        littleVGL嵌入式linux设备的移植开发

        littleVGL在Ubuntu的下开发

        littleVGL在Windows下的开发

一、汉字显示

        如何显示汉字,在很多PC级别的图形库上确实很简单,但是如果嵌入式设备上使用littlevGL显示汉字,就相对有点麻烦了,接下来给大家介绍怎么使用。

代码分析:

LV_FONT_DECLARE(myFont)

void Chinese_character_test(void){
    static lv_style_t style1;
    lv_style_copy(&style1, &lv_style_plain);
    style1.text.font = &myFont; /* 设置自定义字体 */

    /*Create a label and set new text*/
    lv_obj_t * label = lv_label_create(lv_scr_act(), NULL);       /* 创建标签 */
    lv_obj_align(label, NULL, LV_ALIGN_CENTER, -500, 0);         /* 设置相对位置 */
    lv_label_set_style(label, LV_LABEL_STYLE_MAIN, &style1);     /* 设置样式 */
    lv_label_set_text(label, "你好,显示汉字!"); /* 显示汉字 */
}

        LV_FONT_DECLARE(ChineseFont)这个声明有没有很熟悉呢?是的,这个跟之前我们声明图片文件一样,同样的在这里是声明我们的字体文件,其实这使用了字体取模,通过软件取好模,就可以直接使用,大家可以使用下面链接取好自己需要的汉字的模:https://littlevgl.com/ttf-font-to-c-arrayhttps://littlevgl.com/ttf-font-to-c-array上面官方地址有时间经常打不开,也不是很好用,可以下载另外一款的取模工具:

https://download.csdn.net/download/u012478275/34617232icon-default.png?t=L9C2https://download.csdn.net/download/u012478275/34617232 

         左侧栏中输入要转换的汉字即可,然后选择字体和字号,就可以直接开始转换了,这个软件支持FreeType TTF,想要什么样的字体,在windows下找到对应的ttf字体文件就行,最后我们点击保存会生成一个myFont.c文件; 

 

        下面分析一下代码,我们先创建了一个样式,myFont在刚刚生成的myFont.c中有定义,

style1.text.font = &myFont; /* 设置自定义字体 */

        每一个样式都可以设置一个字体,然后对象设置为此样式后,都会使用样式设置的字体去渲染对象的文字,所以这是最重要的一步!一定要将将我们的字体绑定到样式上,然后接下来就跟使用标签对象没有什么区别了,不过还是那句话,一定要通过下面的函数,将样式与对象绑定

lv_label_set_style(label, LV_LABEL_STYLE_MAIN, &style1);     /* 设置样式 */

        然后我们就可以开心的显示各种汉字文本了,最重要的是不要忘记下载上面的的字库文件,然后添加到我们的工程去;

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

ProYuan28

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值