图像
Image 类用于创建可在 LED 点阵上显示的图像。创建后可通过 显示屏 显示:
display.show(Image.HAPPY)

构造方式
Image()— 空白 5×5 图像Image(string)— 从字符串解析;单字符可生成对应字形Image(width, height)— 指定尺寸的空白图像Image(width, height, buffer)— 从缓冲区初始化
类 Image
从字符串构造
字符串由 0–9 组成,描述各 LED 亮度;行末用冒号 : 或换行 \n 分隔:
image = Image("90009:"
"09090:"
"00900:"
"09090:"
"90009")
上述示例为 5×5 的 X 形图案。
从尺寸与缓冲区构造
Image(2, 2, b'\x08\x08\x08\x08')
# 或
Image(2, 2, bytearray([9, 9, 9, 9]))
创建 2×2 全亮图像。buffer 不可使用关键字参数传入。
width()
返回值:图像列数。
height()
返回值:图像行数。
set_pixel(x, y, value)
设置第 x 列、第 y 行像素亮度(0–9)。对内置只读图像(如 Image.HEART)调用会抛异常。
get_pixel(x, y)
返回值:指定像素亮度(0–9)。
shift_left(n)
返回值:向左平移 n 列后的新图像。
shift_right(n)
返回值:向右平移,等价于 shift_left(-n)。
shift_up(n)
返回值:向上平移 n 行后的新图像。
shift_down(n)
返回值:向下平移,等价于 shift_up(-n)。
crop(x, y, w, h)
返回值:从 (x, y) 起裁剪宽 w、高 h 的新图像。
copy()
返回值:图像的完整副本。
invert()
返回值:反转各像素亮度后的新图像。
fill(value)
将所有像素设为 value(0–9)。对内置只读图像调用会抛异常。
blit(src, x, y, w, h, xdest=0, ydest=0)
将 src 中矩形区域 (x, y, w, h) 复制到本图像的 (xdest, ydest)。源矩形超出部分视为 0。
shift_* 与 crop() 在内部可用 blit() 实现。
内置图像
Image 类提供大量预设图案,例如:
- 表情:
Image.HEART、Image.HAPPY、Image.SAD、Image.ANGRY等 - 时钟:
Image.CLOCK1…Image.CLOCK12 - 箭头:
Image.ARROW_N、Image.ARROW_E等 - 其他:
Image.RABBIT、Image.BUTTERFLY、Image.GHOST等
完整列表见 API 速览。
分组列表:
Image.ALL_CLOCKS— 所有时钟帧Image.ALL_ARROWS— 所有箭头
运算
repr(image) # 紧凑字符串
str(image) # 可读字符串
image1 + image2 # 逐像素亮度相加
image * n # 亮度乘以 n
示例
自定义心形动画:
from bibo import *
frames = [Image.HEART, Image.HEART_SMALL]
while True:
for frame in frames:
display.show(frame)
sleep(300)
在比卜创造 Python 编辑器中烧录即可在点阵上看到跳动的心形。