API-字体
GPIO Zero 包含一个"字体"概念,这与您可能熟悉的有所不同。虽然典型的打印字体确定如何在页面上呈现特定字符,但 GPIO Zero 字体确定如何通过一系列灯光(如 LED 段)呈现特定字符(例如,使用 LEDCharDisplay 或 LEDMultiCharDisplay)。
因此,GPIO Zero 的字体是相当简单的事务,只是字符到 LED 状态元组的映射。尽管如此,拥有一个"友好"的格式来创建此类字体还是很有帮助的,在此模块中,库为此目的提供了几个例程。
模块本身通常按如下方式导入:
from gpiozero import fonts
字体解析
class gpiozero.fonts.load_font_7seg(filename_or_obj)
给定一个文件名或类文件对象,将其解析为 7 段显示器 的字体定义,返回适用于 LEDCharDisplay 的 dict。
文件格式是一种简单的 基于文本的格式,其中空白行和以 # 开头的行被忽略。所有其他行都被假定为字符定义组,它们是按以下方式布局的 3x3 字符单元:
Ca
fgb
edc
其中 C 是被定义的字符,a-g 定义该位置 LED 的状态。如果 a、d 和 g 是"_",则它们为开启状态。如果 b、c、e 和 f 是"|",则它们为开启状态。这些位置的任何其他字符都被视为关闭。例如,您可以定义以下字符:
. 0_ 1. 2_ 3_ 4. 5_ 6_ 7_ 8_ 9_
... |.| ..| ._| ._| |_| |_. |_. ..| |_| |_|
... |_| ..| |_. ._| ..| ._| |_| ..| |_| ._|
在上面的示例中,空位置用"."标记,但大部分可以留空。但是,第一项定义了空格(" ")字符,需要在其定义中包含