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显示中文和自定义图标相关推荐

  1. linux 支持的字体命令,Linux设置显示中文和字体

    Linux设置显示中文和设置字体 设置中文 一.查看当前使用的系统语言 登陆linux系统打开操作终端之后,输入 echo $LANG可以查看当前使用的系统语言.如 echo $LANG image. ...

  2. Android 10.0 SystemUI状态栏显示和隐藏自定义图标

    目录 1.概述 2.SystemUI状态栏显示和隐藏自定义图标的相关功能代码

  3. git status 显示中文和解决中文乱码

    git status 显示中文和解决中文乱码 文章目录 git status 显示中文和解决中文乱码 解决git status不能显示中文 解决git bash 终端显示中文乱码 通过修改配置文件来解 ...

  4. esp32使用MicroPython驱动oled屏显示中文和英文

    文章目录 esp32使用MicroPython驱动oled屏显示中文和英文 介绍 安装 特点 开源 硬件连接 API 示例 显示英文字符 显示汉字 参考链接 esp32使用MicroPython驱动o ...

  5. matplotlib显示中文和负号

    1.matplotlib显示中文和负号 import matplotlib.pyplot as plt plt.rcParams['font.sans-serif'] = ['SimHei'] # 用 ...

  6. android自定义工具栏,Android工具栏中的自定义图标

    我正在使用支持工具栏中定义一个自定义图标,但唯一显示的图标是左箭头-我尝试以布局和编程方式设置它,但结果是一样的. 这是我的活动 public class MainActivity extends A ...

  7. uni-app中使用自定义图标库

    方法一: 1.进入阿里图标库下载并解压字体图标库到本地(下载Unicode格式的) 2.在项目根目录下创建common目录,并把iconfont.css文件放入common目录中 3.修改iconon ...

  8. python中中文图标_python中中文图标_matplotlib同时显示中文和特殊符号

    Matplotlib中文显示问题--用例子说明问题 #-*- coding: utf-8 -*- from pylab import * t = arange(-4*pi, 4*pi, 0.01) y ...

  9. 在PowerBI中导入自定义图标

    在用PowerBI时,想要选择相应的图标icon描述指标的状态,但是PowerBI已有的icon不能满足做报表的需求,我们想导入自定义icon. 以下是操作步骤: 文章目录 1. 确定好你想要的图标 ...

最新文章

  1. 基于RNN的NLP机器翻译深度学习课程 | 附实战代码
  2. Codeforces Round #477 (rated, Div. 2, based on VK Cup 2018 Round 3)
  3. 查看库中所有表有多少数据
  4. 反思网络中的观点:太过杂乱 需要很强的甄别能力
  5. html逻辑判断符,JavaScript中的逻辑判断符、||与!介绍
  6. oracle报错-1,[Oracle报错]RMAN-12005: error during channel cleanup/ORA-19550: cannot ...
  7. Educational Codeforces Round 76 (Rated for Div. 2) E. The Contest 思维 + 差分
  8. oracle11g创建闪回分区多大,Oracle闪回区大小预估
  9. 数据结构实验之排序七:选课名单(卡内存的一道题。。坑)
  10. 持续集成部署Jenkins工作笔记0001---持续集成、持续部署、持续交付的概念
  11. oracle连表图解,oracle 表连接方式解析
  12. IDEACPU占用100%_卡顿 解决办法
  13. apple tv 开发_如何在新的Apple TV上管理存储空间
  14. Mac版本的PS2017、2018、2019、2020 合集
  15. 用R写一个迷宫小游戏
  16. MySQL命令简单应用
  17. 五种提高 SQL 性能的方法 [来源:MSDN Johnny Papa]
  18. Mock工具wiremock-py
  19. 哈尔滨华夏计算机学院赵娜,赵 娜(ZHAO Na)博士,副教授
  20. linux 找回网卡的uuid_Linux系统怎么查看网卡的UUID

热门文章

  1. SAP 移动平均价和标准价详细解析
  2. 单例模式 ,多例模式及工厂设计模式的简单案例介绍
  3. Angular2+ 属性绑定
  4. angular 自定义打包文件名
  5. 名帖30 东汉 隶书《西岳华山庙碑》
  6. 专访黄泽武:顺丰科技是如何应用边缘计算的?
  7. 配置软路由-同时连接内网和外网
  8. 一类能产生无限种可能的随机算法--无限随机算法
  9. 莫比乌斯圈matlab,神奇的莫比乌斯圈(PPT).ppt
  10. 神经网络图用什么软件做,神经网络输入图片大小