framebuf
— 帧缓冲区¶
该模块提供一个可用于创建位图、可发送到显示器的通用帧缓冲区.
类 FrameBuffer¶
帧缓冲区类提供一个像素缓冲区,此缓冲区可使用像素、线、矩形、文本甚至其他帧缓冲区来绘制。 此缓冲区可在生成显示器输出时发挥作用.
For example:
import framebuf
# FrameBuffer needs 2 bytes for every RGB565 pixel
fbuf = framebuf.FrameBuffer(bytearray(10 * 100 * 2), 10, 100, framebuf.RGB565)
fbuf.fill(0)
fbuf.text('MicroPython!', 0, 0, 0xffff)
fbuf.hline(0, 10, 96, 0xffff)
构造函数¶
-
class
framebuf.
FrameBuffer
(buffer, width, height, format, stride=width, /)¶ 构建一个帧缓冲区对象。参数为:
buffer 缓冲区是一个带有缓冲区协议的对象,且其大小须足以容纳由宽度 高度和帧缓冲区定义的每个像素.
width 宽度为以像素为单位的帧缓冲区的宽度
height 高度为以像素为单位的帧缓冲区的高度
format 形式指定用于帧缓冲区的像素类型; 有效值为 framebuf.MVLSB, framebuf.RGB565 和 framebuf.GS4_HMSB. MVLSB为单色1位色彩,RGB565为RGB16位色彩,GS4_HMSB为灰度4位色彩 色彩值c传递给类函数时,c是一个编码取决于帧缓冲区格式的小整数
stride 跨度是帧缓冲区中每条水平线之间的像素数量 此参数默认值为宽度, 但是在另一更大帧缓冲区或屏幕中实现一个帧 缓冲区时可能需要调整。缓冲区空间须适应增大的步骤大小
必须指定有效缓冲区、宽度、高度和可选跨度。无效帧缓冲区大小或维度可能会导致意外错误
绘制基础几何对象¶
下面的类函数将图形绘制到帧缓冲区中.
-
FrameBuffer.
fill
(c)¶ 使用指定颜色填满整个帧缓冲区.
-
FrameBuffer.
pixel
(x, y[, c])¶ 若未给定c,则获取指定像素的色值. 若给定c,将指定像素设置到给定颜色.
-
FrameBuffer.
hline
(x, y, w, c)¶
-
FrameBuffer.
vline
(x, y, h, c)¶
-
FrameBuffer.
line
(x1, y1, x2, y2, c)¶ 使用给定颜色和1像素的厚度从一组坐标中绘制一条线 line类函数将这条线画到另一组坐标上 而hline和vline类函数分别将水平和垂直线绘制到给定长度
-
FrameBuffer.
rect
(x, y, w, h, c)¶
-
FrameBuffer.
fill_rect
(x, y, w, h, c)¶ 在给定位置、按照给定大小和颜色绘制一个矩形 rect 类函数仅绘制1个像素的边框 而 fill_rect 类函数可绘制出边框和矩形内部
绘制文本¶
-
FrameBuffer.
text
(s, x, y[, c])¶ 使用坐标作为文本的左上角,将文本写入帧缓冲区 文本颜色可由任意参数定义,否则将保持其默认值1 所有字符都有8x8像素的尺寸,目前尚无办法改变字体