LVGL导入自定义字库与图标

首先声明,此文章主要内容来自lvgl8.2 自定义符号_lvgl symbol-CSDN博客,这里更多的是作为个人的学习笔记。


目录

导入自定义字库的步骤如下

导入自定义图标的步骤如下


LVGL自带的图标可以在【官方文档---Overview---Fonts---Special feature】找到

如果LVGL自带的图标不足以满足要求,可以使用自定义的图标


导入自定义字库的步骤如下

  • 下载字库,下载好的字库会保存到一个ttf文件里面,如果不知道ttf文件是什么,请自行谷歌。windows系统自带的字体保存在这个目录下面c:\windows\fonts,如果需要其他的,自行上网下载,网上资源丰富。(除了使用ttf文件外,还可以使用woff文件,这里不做介绍)
  • 将ttf文件里面的文字转换成.c文件。

使用LVGL官方字体转换网站:https://lvgl.io/tools/fontconverter

  • 为了方便管理,创建一个同名的.h文件(MyFonts32.h)
  • 在.c文件对应的.h文件内,声明字体。LV_FONT_DECLARE(MyFonts32);
#ifndef __MYFONTS32_H__
#define __MYFONTS32_H__

#ifdef __cplusplus
extern "C" {
#endif

#include "lvgl.h"

//声明字体
LV_FONT_DECLARE(MyFonts32);

#ifdef __cplusplus
}
#endif

#endif /* __MYFONTS32_H__*/

对于LVGL官方字体转换网站,在这个网站当中,有以下说明:

  1. 给输出字体命名
  2. 指定字体的大小,单位为像素
  3. 设置像素深度(抗锯齿效果),深度越大,字体看起来越流畅
  4. 选择ttf文件或者woff文件
  5. 使用Unicode编码的形式,列出想要转换的字体的范围,或者列出想要转换的字体的Unicode编码
  6. 直接输入相应的字体。(融合进.c文件这里不太明白)
  7. 点击转换,就可以下载对应的.c文件了

导入自定义图标的步骤如下

  • 下载图标,下载好的图标会保存到一个ttf文件里面。图标的下载在文章开头的文章链接中有详细介绍。

网站:iconfont-阿里巴巴矢量图标库

注册登录,搜索想要的图标,如wifi。把光标移动到对应的图标上,点击“购物车”,将对应的图标添加到购物车。

选完图标后。点击网页右上角的“购物车”

点击下载代码

会下载一个压缩包,解压,打开

通过demo_index.html打开一个网站

iconfont.ttf文件里面就包含了我们下载下来的图标

  • 将ttf文件里面的图标转换成.c文件

  • 通过图标的Unicode编码得到其UTF-8编码,在进行宏定义时,需要用到其UTF-8编码。

相关网站:https://www.qqxiuzi.cn/bianma/Unicode-UTF.php

为什么通过图标的Unicode编码得到其UTF-8编码呢?因为在LVGL程序中,是不能通过Unicode编码来使用相应的图标的,但是可以通过UTF-8编码来使用。相关的配置,在lv_conf.h中可以看到。

  • 为了方便管理,创建一个同名的.h文件(MySymbol32.h)
  • 在.c文件对应的.h文件内,对图标(UTF-8)进行宏定义。如果不进行宏定义,那么在使用时,就需要使用其UTF-8编码,比较麻烦,而且可读性很差。
  • 在.c文件对应的.h文件内,声明字体
#ifndef __MYSYMBOL32_H__
#define __MYSYMBOL32_H__

#ifdef __cplusplus
extern "C" {
#endif

#include "lvgl.h"

//声明字体
LV_FONT_DECLARE(MySymbol32);

//宏定义
//被替换的内容,如"\xEE\x9C\x8F"是通过图标的Unicode编码得到其UTF-8编码
//至于格式为什么是这个样子,不清楚
#define USER_SYMBOL_SETTING			"\xEE\x9C\x8F"     //Unicode:0xe70f
#define USER_SYMBOL_WIFI            "\xEE\x9D\xAC"     //Unicode:0xe76c


#ifdef __cplusplus
}
#endif

#endif /* __MYSYMBOL32_H__*/


在同一个字体文件内可以同时带有字库和图标,点击下图中的按键,方法与上面介绍的一致


  • 1
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: Lvgl中文点阵字库.7z是适用于使用lvgl图形库的开发者使用的中文点阵字库。该字库是经过优化和精简的,可以用于嵌入式系统中的文字显示和UI设计。它包含了常用的中文汉字、数字、英文字母和常见符号等,支持宋体和黑体两种字体。使用该字库可以让开发者在嵌入式设备上轻松实现中文显示,提升用户体验。该字库包含的字符大小和像素密度可以根据需求进行自定义,支持灵活的大小和颜色选择。此外,Lvgl中文点阵字库.7z也提供了一些示例代码,方便开发者参考使用。总的来说,Lvgl中文点阵字库.7z是一个实用的中文点阵字库,可以为嵌入式开发者带来便利,提升应用质量和用户满意度。 ### 回答2: LVGL是一套开源的GUI框架,用于嵌入式设备中。中文点阵字库LVGL中可用的一种字体资源,可以启用中文界面元素的渲染,如中文字符和汉字。这个字库资源包可以从csdn上下载,下载链接为“lvgl中文点阵字库.7z”,需要解压缩后使用。 这个字库包含了常用的中文汉字、英文字母、数字等。它们已经被转换成了点阵格式,并编码成UTF-8字符串。使用LVGL框架的用户可以直接加载字库,然后根据需要使用中文字符串渲染组件,如按钮、标签等。 中文点阵字库虽然能够在嵌入式设备中提供丰富的界面展示效果,但是需要注意的是,它将占用一定的存储空间。因此在设备内存存储空间有限的情况下,需要权衡存储资源和界面展示效果之间的平衡。此外,中文字符的渲染可能会影响内存和CPU的使用效率,因此也需要在实际应用中进行测试和优化。 总体来说,LVGL中文点阵字库是一个方便实用的资源包,可以使嵌入式设备的界面展示更加多样化和丰富化,为应用开发者提供了更多的选择与定制化能力。 ### 回答3: lvgl中文点阵字库.7z是一个包含中文点阵字库的压缩包,可以用于LVGL开发人员的使用。该压缩包是在CSDN上发布的,目的是为了方便有需要的开发者进行下载和使用。 LVGL是一个开源的GUI库,主要用于嵌入式系统的图形界面设计,在许多嵌入式系统中都有广泛的应用。中文点阵字库是其中一个重要的组成部分,可以用于显示中文字符,给用户带来更好的使用体验。 该压缩包包含了多种中文字库,可以根据需要选择合适的字体。需要使用该字库的开发人员只需要下载解压缩包,将字库文件加入到自己的工程中即可使用。 总之,LVGL中文点阵字库.7z十分实用,对于需要在LVGL中使用中文的开发人员来说,是一个非常方便和实用的资源。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值