lvgl显示中文和自定义图标
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;}
lvgl显示中文和自定义图标相关推荐
- linux 支持的字体命令,Linux设置显示中文和字体
Linux设置显示中文和设置字体 设置中文 一.查看当前使用的系统语言 登陆linux系统打开操作终端之后,输入 echo $LANG可以查看当前使用的系统语言.如 echo $LANG image. ...
- Android 10.0 SystemUI状态栏显示和隐藏自定义图标
目录 1.概述 2.SystemUI状态栏显示和隐藏自定义图标的相关功能代码
- git status 显示中文和解决中文乱码
git status 显示中文和解决中文乱码 文章目录 git status 显示中文和解决中文乱码 解决git status不能显示中文 解决git bash 终端显示中文乱码 通过修改配置文件来解 ...
- esp32使用MicroPython驱动oled屏显示中文和英文
文章目录 esp32使用MicroPython驱动oled屏显示中文和英文 介绍 安装 特点 开源 硬件连接 API 示例 显示英文字符 显示汉字 参考链接 esp32使用MicroPython驱动o ...
- matplotlib显示中文和负号
1.matplotlib显示中文和负号 import matplotlib.pyplot as plt plt.rcParams['font.sans-serif'] = ['SimHei'] # 用 ...
- android自定义工具栏,Android工具栏中的自定义图标
我正在使用支持工具栏中定义一个自定义图标,但唯一显示的图标是左箭头-我尝试以布局和编程方式设置它,但结果是一样的. 这是我的活动 public class MainActivity extends A ...
- uni-app中使用自定义图标库
方法一: 1.进入阿里图标库下载并解压字体图标库到本地(下载Unicode格式的) 2.在项目根目录下创建common目录,并把iconfont.css文件放入common目录中 3.修改iconon ...
- python中中文图标_python中中文图标_matplotlib同时显示中文和特殊符号
Matplotlib中文显示问题--用例子说明问题 #-*- coding: utf-8 -*- from pylab import * t = arange(-4*pi, 4*pi, 0.01) y ...
- 在PowerBI中导入自定义图标
在用PowerBI时,想要选择相应的图标icon描述指标的状态,但是PowerBI已有的icon不能满足做报表的需求,我们想导入自定义icon. 以下是操作步骤: 文章目录 1. 确定好你想要的图标 ...
最新文章
- 基于RNN的NLP机器翻译深度学习课程 | 附实战代码
- Codeforces Round #477 (rated, Div. 2, based on VK Cup 2018 Round 3)
- 查看库中所有表有多少数据
- 反思网络中的观点:太过杂乱 需要很强的甄别能力
- html逻辑判断符,JavaScript中的逻辑判断符、||与!介绍
- oracle报错-1,[Oracle报错]RMAN-12005: error during channel cleanup/ORA-19550: cannot ...
- Educational Codeforces Round 76 (Rated for Div. 2) E. The Contest 思维 + 差分
- oracle11g创建闪回分区多大,Oracle闪回区大小预估
- 数据结构实验之排序七:选课名单(卡内存的一道题。。坑)
- 持续集成部署Jenkins工作笔记0001---持续集成、持续部署、持续交付的概念
- oracle连表图解,oracle 表连接方式解析
- IDEACPU占用100%_卡顿 解决办法
- apple tv 开发_如何在新的Apple TV上管理存储空间
- Mac版本的PS2017、2018、2019、2020 合集
- 用R写一个迷宫小游戏
- MySQL命令简单应用
- 五种提高 SQL 性能的方法 [来源:MSDN Johnny Papa]
- Mock工具wiremock-py
- 哈尔滨华夏计算机学院赵娜,赵 娜(ZHAO Na)博士,副教授
- linux 找回网卡的uuid_Linux系统怎么查看网卡的UUID