关键词:
lvgl显示中文和自定义图标
显示中文
制作字库
lvgl字库在线制作网址 https://lvgl.io/tools/fontconverter
下面以制作 “按钮” 这两个汉字字库为例
- 首先选择一个字体文件 可以在网上找,也可以去电脑 C:\\Windows\\Fonts 里挑一个顺眼的
- 确定要转换的字符
然后就会生成一个字库.c文件,将该文件添加到工程中,然后如下调用显示
void lv_example_label(void)
lv_obj_t * label1 = lv_label_create(lv_scr_act());
//声明字库
LV_FONT_DECLARE(zhongwen);
//设置字库
lv_obj_set_style_text_font(label1, &zhongwen, 0);
lv_label_set_text(label1, "按钮");
需要注意的是 生成的字库 只支持utf-8编码,例如你要制作一个 汉字 ‘按钮’ 的字库,制作字库的时候会将 ‘按’的 utf-8 码 和 制作出来的字库相关联,可以通过 ‘按’的 utf-8 码 在字库中找到对应的显示矩阵,如果 你的工程文件不是utf-8 编码,显示汉字就会出问题,可以使用notepad++ 打开文件将文件转化位utf-8格式。
显示自定义图标
显示图标
lvgl中自带了一些常用图标,可以像显示文字一样显示图标
void lv_example_label_2(void)
lv_obj_t * label1 = lv_label_create(lv_scr_act());
//显示图标
lv_label_set_text(label1, LV_SYMBOL_AUDIO "123");
自带的图标很好用,但是有一个问题,如果想要显示汉字+图标,就会发现图标显示不出来了,因为制作的汉字字库中没有图标。这时候可以使用两个label,一个显示图标,一个显示汉字,也可以在制作汉字字库时将图标添加进去。
制作字库
-
打开登录阿里巴巴矢量库
-
选择喜欢的图标加入购物车,添加到项目
-
打包下载图库
-
将图标添加到字库中
-
显示汉字+图标
#define MY_ICON_WIFI "\\xEE\\x99\\x88"
void lv_example_label_2(void)
lv_obj_t * label1 = lv_label_create(lv_scr_act());
//声明字库
LV_FONT_DECLARE(zhongwen);
//设置字库
lv_obj_set_style_text_font(label1, &zhongwen, 0);
//显示汉字+图标
lv_label_set_text(label1, MY_ICON_WIFI "按钮");
需要注意的是 图标的unicode 码 为 0xe648, 但是在工程中需要使用utf-8码 \\xEE\\x99\\x88, 需要将Unicode转换为utf-8.
unicode 转 utf-8
unicode 转 utf-8 十分简单,下面是c#的代码和小工具
private void btnConvert_Click(object sender, EventArgs e)
string str = txbS.Text;
//剔除空格
string strNoSpace = str.Replace(" ", "");
byte[] bytes = new byte[2];
bytes[1] = Convert.ToByte(strNoSpace.Trim().Substring(0, 2), 16);
bytes[0] = Convert.ToByte(strNoSpace.Trim().Substring(2, 2), 16);
txbD.Text = System.Text.Encoding.Unicode.GetString(bytes);
byte[] utf8 = Encoding.UTF8.GetBytes(txbD.Text);
string s3 = "";
foreach (byte b in utf8)
// s3 += Convert.ToString(b, 16) + " ";
s3 += string.Format("0:X2", b) + " ";
txbD.Text = s3;
esp32基础应用之lvgl显示中文(代码片段)
...简介该工程在《ESP32基础应用之LVGL基础》之上实现中文的显示。参考文章《ESP32IDFLVGL8.0flash外部字库显示中文显示》2工程实现2.1制作字库使用软件LvglFontToolV0.4自作二进制字库文件。 查看详情
lvgl电池电量显示(代码片段)
#include"lvgl/lvgl.h"#defineOUTLINE_W50//电池图标宽度#defineOUTLINE_H25//电池图标高度voidlv_anim_cb(void*p,int32_tv)//实现变色效果,电池电量低于20%红色staticint32_tcnt;if(cnt>=OUTLINE_W*0.2&&v<O 查看详情
esp32基础应用之lvgl显示中文(代码片段)
...简介该工程在《ESP32基础应用之LVGL基础》之上实现中文的显示。参考文章《ESP32IDFLVGL8.0flash外部字库显示中文显示》2工程实现2.1制作字库使用软件LvglFontToolV0.4自作二进制字库文件。在电脑(C:\\Windows\\Fonts)找到合适的字... 查看详情
基于arduino的esp32学习笔记lvgl文件系统移植,中文字库和图片显示(代码片段)
...LVGL文件系统,读取SD卡中的中文字库和图片,并显示在屏幕上硬件准备ESP-WROOM-32E开发板ST7789240x2401.3寸SPI接口LCD屏16位色深RGB565SD卡插槽模 查看详情
lvgl8基础语法-设置中文(代码片段)
LVGL中文字体字库下载网站点击进入LVGL字库在线剪裁点击进入先下载字体包,然后通过工具裁剪字体包,达到轻量移植选择你喜欢的风格按照图片提示剪裁剪裁完得到C文件拖入工程,所有依赖准备结束代码调试//声明... 查看详情
javascript从其他来源触发youtube播放,删除占位符图片和自定义播放图标(代码片段)
基于arduino的esp32学习笔记lvgl文件系统移植,中文字库和图片显示(代码片段)
...LVGL文件系统,读取SD卡中的中文字库和图片,并显示在屏幕上硬件准备ESP-WROOM-32E开发板ST7789240x2401.3寸SPI接口LCD屏16位色深RGB565SD卡插槽模块和SD卡一张软件准备VSCODE+PlatformIO各模块之间的连线可以看下我之前的博客相关... 查看详情
基于arduino的esp32学习笔记lvgl文件系统移植,中文字库和图片显示(代码片段)
...LVGL文件系统,读取SD卡中的中文字库和图片,并显示在屏幕上硬件准备ESP-WROOM-32E开发板ST7789240x2401.3寸SPI接口LCD屏16位色深RGB565SD卡插槽模块和SD卡一张软件准备VSCODE+PlatformIO各模块之间的连线可以看下我之前的博客相关... 查看详情
lvgl开发|lv_lib_100ask之lvgl中文输入(lv_100ask_pinyin_ime)-lvgl中文输入(代码片段)
...09;,它和lv_keyboard没有什么区别,只是增加了支持中文拼音输入法的功能。所以将其称为:支持中文拼音输入法的LVGL键盘(lv_keyboard)部件增强插件。正常来说,只要是lvgl能运行的环境lv_100ask_pinyin_ime也能够运行... 查看详情
lvgl8基础语法-图片显示(代码片段)
找到你想显示的图片使用图片生成工具lvgl官方图片生成工具修改图片尺寸,按你的屏幕尺寸来添加数组文件到模拟器,单片机项目则路径自己定义声明数组和图片空间语法LV_IMG_DECLARE(zzr);voidlv_example_roller_3(void)lv_obj_t*img... 查看详情
lvgl8基础语法-标签(代码片段)
创建标签lv_obj_t*label=lv_label_create(lv_scr_act());基于codeblock模拟器运行显示自定义文本//创建标签lv_obj_t*label=lv_label_create(lv_scr_act());//设置文本方式1lv_label_set_text(label,"wenmou9");自定义文本居中显示//创建标签lv 查看详情
lvgl8基础语法-图片显示(代码片段)
找到你想显示的图片使用图片生成工具lvgl官方图片生成工具修改图片尺寸,按你的屏幕尺寸来添加数组文件到模拟器,单片机项目则路径自己定义声明数组和图片空间语法LV_IMG_DECLARE(zzr);voidlv_example_roller_3(void)lv_obj_t*img... 查看详情
php显示具有自定义摘录长度的帖子和自定义在wordpress中阅读更多文本(代码片段)
lvgl|lvglv8教程(lvgl中文文档教程,开始更新lvglv8.x文档教程,超详细!)(代码片段)
...,这个是我在做项目时根据lvgl官方文档做出来的lvgl中文文档(持续更新维护),不仅仅只是生硬照搬lvgl官方文档的翻译,同时总结了我们在实际开发中遇到的各种细节,让这个文档更加适合我们在实际开发中的需... 查看详情
lvgl(v8.2)自定义字体实现多国语言切换功能(代码片段)
...子产品,如果是面向出口贸易,那么多国语言的显示功能必不可少。那么如何使用LVGL来实现多语言功能呢?先来实现一个简单的语言功能切换demo:当 查看详情
lvgl(v8.2)自定义字体实现多国语言切换功能(代码片段)
...子产品,如果是面向出口贸易,那么多国语言的显示功能必不可少。那么如何使用LVGL来实现多语言功能呢?先来实现一个简单的语言功能切换demo:当 查看详情
lvgl(v8.2)自定义字体实现多国语言切换功能(代码片段)
...子产品,如果是面向出口贸易,那么多国语言的显示功能必不可少。那么如何使用LVGL来实现多语言功能呢?先来实现一个简单的语言功能切换demo:当 查看详情
lvgl开发|支持中文输入法的lvgl部件(lvgl中文输入)
【开源】让LVGL支持中文输入法!LVGL中文输入法插件我将它称为插件,因为它是在lv_keyboard的基础上编写的一个自定义部件(我定义创建接口为:lv_100ask_keyboard_create(lv_obj_t*parent));),它和lv_keyboard没有什么... 查看详情