text(font, s, x, y {, fg, bg, alpha})
使用指定的位图 font 在显示屏上绘制文本,所给坐标为文本的左上角。
可选参数 fg 和 bg 分别设置文本的前景色和背景色;未指定时,前景色默认为 WHITE,背景色默认为 BLACK。
alpha 默认为 255。
有关示例字体,请参阅 fonts/bitmap 目录中的 README.md。
BPI-Centi-S3 出厂固件包含两个位图字体文件。
vga1_8x16.mpy
vga1_bold_16x32.mpy
这里选取其中最常用的两个字体,并使用 MPY-CROSS 工具将其转换为 .mpy 格式,以减小文件体积。
如果误删字体文件或擦除了 Flash,需要重新下载字体文件。可以从前面的链接下载,也可以从下方链接下载 .mpy 格式的字体和示例。
""" BPI-Centi-S3 170x320 ST7789 display """
import st7789
import tft_config
import vga1_8x16
import vga1_bold_16x32
"""
可使用以下默认颜色:
BLACK BLUE CYAN GREEN
MAGENTA RED YELLOW WHITE
TRANSPARENT
自定义 RGB 颜色:
color565(255,255,255)
"""
fg = st7789.BLACK
bg = st7789.WHITE
text_x = 10
text_y = 10
def main():
try:
tft = tft_config.config(rotation=1)
tft.init()
tft.fill(st7789.WHITE)
tft.text(vga1_8x16, "Hello World!", text_x, text_y, fg, bg, 255)
tft.text(vga1_bold_16x32, "MicroPython!", text_x, text_y+16, fg, bg, 255)
tft.text(vga1_8x16, "vga1_8x16", text_x, text_y+16+32, fg, bg, 255)
tft.text(vga1_bold_16x32, "vga1_bold_16x32",
text_x, text_y+16+32+16, fg, bg, 255)
tft.show()
except BaseException as err:
err_type = err.__class__.__name__
print('Err type:', err_type)
from sys import print_exception
print_exception(err)
finally:
tft.deinit()
print("tft deinit")
main()
将 st7789.TRANSPARENT 设为文本背景色,可以保持原有背景不变。
通过设置 text 方法的 alpha 参数,可以调整文本的整体透明度,取值范围为 0~255。
""" BPI-Centi-S3 170x320 ST7789 display """
import st7789
import tft_config
import vga1_8x16
import vga1_bold_16x32
"""
可使用以下默认颜色:
BLACK BLUE CYAN GREEN
MAGENTA RED YELLOW WHITE
TRANSPARENT
自定义 RGB 颜色:
color565(255,255,255)
"""
fg = st7789.BLACK
bg = st7789.TRANSPARENT
text_x = 10
text_y = 50
def main():
try:
tft = tft_config.config(rotation=1)
tft.init()
tft.fill(st7789.WHITE)
tft.text(vga1_8x16, "Hello World!", text_x-1, text_y-1, fg, bg, 205)
tft.text(vga1_bold_16x32, "MicroPython!", text_x-2, text_y+16-2, fg, bg, 205)
tft.text(vga1_8x16, "Hello World!", text_x, text_y, fg, bg, 255)
tft.text(vga1_bold_16x32, "MicroPython!", text_x, text_y+16, fg, bg, 255)
tft.show()
except BaseException as err:
err_type = err.__class__.__name__
print('Err type:', err_type)
from sys import print_exception
print_exception(err)
finally:
tft.deinit()
print("tft deinit")
main()