如何优雅的改变arduino驱动的屏幕上的字体
Adafruit_GFX
首先需要你的显示器支持Adafruit_GFX的库,
大概的步骤就是include Adafruit_GFX.h
然后继承adafruit_GFX这个类
然后覆写drawpixel这个方法
Font converter
http://oleddisplay.squix.ch/#/home
这个上面可以选很多字体,生成的时候选择Adafruit_GFX
把生成的文件放到一个头文件里面,然后在arduino里面include进来
这样调用一下就行。这里有作者写的一个教程https://blog.squix.org/2016/10/font-creator-now-creates-adafruit-gfx-fonts.html
2021年3月29日 UPDATE:
发现M5有一个把自定义ttf文件转成.h文件的工具,可以在这里看看https://github.com/ropg/truetype2gfx
2023年3月2日 UPDATE:
创建字体
这里有一个adafruit_GFX库的一些介绍https://zhuanlan.zhihu.com/p/385486474,主要是介绍font的.h文件里面变量是什么意思,大概是Bitmaps这个变量的字节表示对应位置是有还是没有,然后Glyphs这个里面表示每个字符要在Bitmaps的哪个位置,还有offset是多少
typedef struct {
uint16_t bitmapOffset; /// Pointer into GFXfont->bitmap
uint8_t width; /// Bitmap dimensions in pixels
uint8_t height; /// Bitmap dimensions in pixels
uint8_t xAdvance; /// Distance to advance cursor (x axis)
int8_t xOffset; /// X dist from cursor pos to UL corner
int8_t yOffset; /// Y dist from cursor pos to UL corner
} GFXglyph;
上面那个链接介绍了一个可以在线编辑字体文件的地方https://tchapi.github.io/Adafruit-GFX-Font-Customiser/,可以逐像素编辑字体
共有 0 条评论