Atomic Display Base
这是 Atomic Display Base 类,用于在屏幕上显示图像和文本。
支持以下产品:
以下是主机对Atomic Display Base的详细支持:
主机 |
状态 |
|---|---|
Atom Echo |
⭕ |
Atom Lite |
✅ |
Atom Matrix |
✅ |
AtomS3 |
✅ |
AtomS3 Lite |
✅ |
AtomS3R |
✅ |
AtomS3R-CAM |
✅ |
AtomS3R-Ext |
✅ |
✅: 支持
⭕: 可选,它与主机的一些内部资源冲突。
UiFlow2 应用示例
绘制文本
在 UiFlow2 中打开 atoms3_draw_text_example.m5f2 项目。
此示例在屏幕上显示文本“M5Stack”。
UiFlow2 代码块:
示例输出:
None
绘制图像
在 UiFlow2 中打开 atoms3_draw_text_example.m5f2 项目。
此示例在屏幕上显示图像。
UiFlow2 代码块:
示例输出:
None
MicroPython 应用示例
绘制文本
此示例在屏幕上显示文本“M5Stack”。
MicroPython 代码块:
1# SPDX-FileCopyrightText: 2025 M5Stack Technology CO LTD 2# 3# SPDX-License-Identifier: MIT 4 5import os, sys, io 6import M5 7from M5 import * 8from base import AtomicDisplayBase 9 10 11label0 = None 12label1 = None 13base_display = None 14 15 16def setup(): 17 global label0, label1, base_display 18 19 M5.begin() 20 label1 = Widgets.Label("M5Stack", 23, 53, 1.0, 0xFFFFFF, 0x222222, Widgets.FONTS.DejaVu18) 21 22 base_display = AtomicDisplayBase( 23 width=1280, 24 height=720, 25 refresh_rate=60, 26 output_width=1280, 27 output_height=720, 28 scale_w=1, 29 scale_h=1, 30 pixel_clock=74250000, 31 ) 32 label0 = Widgets.Label( 33 "M5STACK", 466, 318, 1.0, 0xFFFFFF, 0x222222, Widgets.FONTS.DejaVu72, base_display 34 ) 35 36 37def loop(): 38 global label0, label1, base_display 39 M5.update() 40 41 42if __name__ == "__main__": 43 try: 44 setup() 45 while True: 46 loop() 47 except (Exception, KeyboardInterrupt) as e: 48 try: 49 from utility import print_error_msg 50 51 print_error_msg(e) 52 except ImportError: 53 print("please update to latest firmware")
示例输出:
None
绘制图像
此示例在屏幕上显示图像。
MicroPython 代码块:
# SPDX-FileCopyrightText: 2025 M5Stack Technology CO LTD # # SPDX-License-Identifier: MIT import os, sys, io import M5 from M5 import * from base import AtomicDisplayBase image0 = None image1 = None base_display = None def setup(): global image0, image1, base_display M5.begin() image0 = Widgets.Image("res/img/default.jpg", 51, 51, scale_x=1, scale_y=1) base_display = AtomicDisplayBase( width=1280, height=720, refresh_rate=60, output_width=1280, output_height=720, scale_w=1, scale_h=1, pixel_clock=74250000, ) image1 = Widgets.Image( "res/img/default.jpg", 443, 213, scale_x=10, scale_y=10, parent=base_display ) image0.setImage("res/img/default.jpg") image1.setImage("res/img/default.jpg") def loop(): global image0, image1, base_display M5.update() if __name__ == "__main__": try: setup() while True: loop() except (Exception, KeyboardInterrupt) as e: try: from utility import print_error_msg print_error_msg(e) except ImportError: print("please update to latest firmware")
示例输出:
None
API参考
AtomicDisplayBase
- class base.display.AtomicDisplayBase(width=1280, height=720, refresh_rate=60, output_width=1280, output_height=720, scale_w=1, scale_h=1, pixel_clock=74250000)
基类:
object初始化 Atomic Display Base。
- 参数:
width (int) – Atomic Display Base 的逻辑宽度。默认值为 1280px。
height (int) – Atomic Display Base 的逻辑高度。默认值为 720px。
refresh_rate (int) – Atomic Display Base 的刷新率。默认为 60Hz。
output_width (int) – Atomic Display Base 输出的宽度。默认为 1280px。
output_height (int) – Atomic Display Base 输出的高度。默认为 720px。
scale_w (int) – Atomic Display Base 的宽度缩放比例因子。默认值为 1。
scale_h (int) – Atomic Display Base 的高度缩放比例因子。默认值为 1。
pixel_clock (int) – Atomic Display Base 的像素时钟。默认值为 74250000。
UiFlow2 代码块:

MicroPython 代码块:
from base import AtomicDisplayBase atom_display = AtomicDisplayBase(1280, 720, 60, 1280, 720, 1, 1, 74250000)




