ESP8266之TFT_eSPI库的自定义字体
目录
一、引言
二、字体生成
1、字体下载
2、字体转换
3、字体编码
三、字体使用
一、引言
说明:博主在进行TFT显示时需要显示中文字体,但是TFT库中不带有中文显示,或者显示不全,于是开展了自定义字体,最后得到字体.h文件,引用到项目中供TFT——eSPI库使用。其中一部分脚本放进我的仓库,需要的自行下载。
TFT_eSPI-master-Create_font: 为TFT_eSPI库创建自定义字体https://gitee.com/upperair0128/tft_e-spi-master-create_font.git
二、字体生成
1、字体下载
首先下载我们需要的字体,格式为.ttf格式,自行网上搜索字体下载,很多网站都提供下载,但是字体格式为.ttf格式。将字体下载到TFT库的自定义字体下,因为要使用TFT库提供的字体转换程序,如图一所示为下载完成的字体,同时也可以看到存放路径。
图一
2、字体转换
a、下载软件processing,下载完成后解压得到这样的文件夹。如图二所示。
图二
b、将需要的字转换为Unicode编码格式,使用在线工具,Unicode编码转换 - 站长工具本工具是Unicode编码转换,为您提供ASCII与Unicode互转,Unicode与中文互转,在文本框里输入要转换的内容,然后点击要转换的类型按钮,转换完成后即可看到对应的内容。https://tool.chinaz.com/tools/unicode.aspx
比如需要A则转换结果为如图三所示
图三
转换结果为\u0041,使用时写成0x0041,如果字较多可以使用word的替换功能将\u替换为0x
c、利用下载好的软件打开此文件,如图四所示。
图四
说明:String fontName = "PingFang-JianZhongHeiTi-2"; 这里填写下载好的字体名称。
String fontType = ".ttf";这里填写类型。
int fontSize = 20;字体大小
int displayFontSize = 20; 字体大小一致就可以。
unicodeBlocks这个数组下填写连续的字的编码,比如我想生成A-Z的字体,就写入0x0041(A),0x005a(Z),这样就会生成A-Z的字体了,只要是连续的就可以。
如果不连续的字的编码请放在specificUnicodes数组里面。
然后点击运行,则会输出字体文件并且显示出来。
3、字体编码
1、得到vlw格式文件,再通过在线工具转为16进制的编码。File to hex converterOn-line file to hexadecimal array converter.https://tomeko.net/online_tools/file_to_hex.php?lang=zh
2、 建立.h文件,并且新建数组,将所得编码放进数组。
至此就完成了自定义字体的制作了。
三、字体使用
引入头文件
#include "zh_front_20.h"
使用TFT库函数加载字体
tft.loadFont(font_20);
字体显示完成后使用TFT库函数卸载字体,不然内存占用量太大,如果程序大了,就无法正常运行了。
tft.unloadFont();
四、总结
整体通过测试,显示正常,如有疑问请留言。
ESP8266之TFT_eSPI库的自定义字体相关推荐
- ESP8266/ESP32/nodeMcu/wemos D1 MINI开发板用TFT_eSPI库驱动ST7789(240*240)TFT显示屏
ESP8266/ESP32/nodeMcu/wemos D1 MINI开发板用TFT_eSPI库驱动ST7789(240*240)TFT显示屏 材料 硬件连接 引脚连接表 引脚连接图 安装TFT_eS ...
- Linux下安装自定义字体库
Linux下安装自定义字体库 第一步.在Windos环境下找到字体库 如:C:\Windows\Fonts 第二步.找到Linux下字体库 如:/usr/share/fonts/chinese 第三步 ...
- 【Arduino】TFT LCD显示屏显示gif小电视太空人动图(基于Arduino框架ESP8266/ESP32、TFT_eSPI库、使用python脚本GIF转十六进制文件)
前言 之前使用ESP32 来控制TFT屏幕显示动图时,找到现有的工具,需要先将动图gif格式一帧帧转为jpg格式,再将一帧帧的jgp转为hex十六进制格式,整个过程好麻烦.现用python写了脚本 ...
- android 字体编程,Android编程之Calligraphy:Android 自定义字体库
Calligraphy是android 自定义字体库 添加依赖 Download from Maven Central (.jar) OR Java dependencies { compile 'u ...
- NodeMCU-ESP8266使用TFT_eSPI库驱动IC为ST7735的1.44寸TFT屏幕(TFT_eSPI详解)
文章目录 1. TFT_eSPI 驱动TFT屏幕 2. TFT_eSPI详解 2.1 文件配置 2.2 类.常用函数 2.1.1 TFT_eSPI类 2.1.2 Sprite 类 3. OVERLAP ...
- PlatformIO平台使用TFT_eSPI库驱动IC为ST7789的TFT屏幕(TFT_eSPI详解)
TFT_eSPI库的安装 首先在Libraries里面搜索安装TFT_eSPI库到你的工程文件里面. 我们需要在这里选择要添加TFT_espi库的工程里面,选择完之后就直接Add就添加好了. TF ...
- Arduino开发-TFT_eSPI库学习
TFT_eSPI库学习 文章目录 TFT_eSPI库学习 TFT_eSPI库安装以及配置 TFT_eSPI库文件目录 配置文件 1.User_Setup_.h 2. User_Setup_Select ...
- esp32 cam 1.44寸TFT彩屏 ST7735S驱动 TFT_eSPI库驱动
ESP32 CAM引脚与TFT1.44(ST7735S)引脚接线 ESP32 CAM TFT 1.44 5V VCC GND GND GND NC NC 5V BLC D14 SCL D15 SDA ...
- Arduino + ESP32-C3 + TFT(1.8‘ ST7735S)基础平台(实验三)折腾 TFT_eSPI 库
---------------------------------------------------------------------------------------------------- ...
最新文章
- 动态代理——事务处理
- linux基本知识2
- unity实用技术:色盲玩家也能享受好的游戏体验
- 异常重试_Spring-Retry重试实现原理
- Android设计模式之——访问者模式
- python中tkinter的使用-中
- mysql id 不在集合里面_MySQL,PHP:从表中选择*,其中id不在数组中
- Eclipse europa 更新时 Error retrieving feature.xml. [error in opening zip file]的解决
- 被骂十几年,躺赚上千亿!这个“土匪”行业,还能浪多久?
- CVPR 2022 论文和开源项目合集
- 【CCCC】L3-018 森森美图 (30分),计算几何+判断三点共线+bfs最短路
- 剑指offer——面试题39-2:平衡二叉树
- 本地图片预览代码(支持 IE6、IE7)
- 收藏啦~ Github上 10 个开源免费且优秀的后台控制面板
- python UI自动化无界面运行
- 【转载】WAMP5:PHP环境整合安装(图解)及密码设置图解
- 我励志成为芸芸阿里云大使中的佼佼者 云大使社区
- 【心理咨询师考试笔记】基础理论(六)——心理咨询概论
- [MAC]Google Drive下载大文件
- vue+echarts平面地图和飞线
热门文章
- 图解通信原理与案例分析-31:量子通信,信息的传输载体由确定性的宏观世界走向不确定性的微观世界
- 华为计算机视觉算法,【华为图像算法面试】计算机视觉算法岗,第一面就挂了-看准网...
- catti 三笔 计算机专业,catti三级笔译含金量高吗
- matlab静电场有限元分析
- 颜宁宣布离美归国;中信集团收购腾讯为假消息;寒武纪否认裁员传闻;造车项目被叫停?小米回应 | 每日大事件...
- Python基础1:数据类型、序列
- 我的生命该如何度过?
- 如何用画图框住所选内容_我们知道您的住所-在线隐私之死
- 水平、垂直居中布局大全
- c语言中swith的用法,初中英语语法知识点大全+记忆口诀+易错题100道,考前复习...