该模块在Micropython的FrameBuf模块中扩展了FrameBuffer类。它可以使用flamebuf模块中提供的内置字体来绘制双,三重,四倍和较大尺寸的文本,从而绘制框架的尺寸文本。
还包括绘制三角形和圆圈的方法。这些只能大纲或填充。
该模块已在带有128x128像素SH1107显示屏的Raspberry Pi Pico上进行了测试。它应该与所有微python Framebuffer对象一起使用。
large_text(s, x, y, m [, c=1] [, r=0 [, t=None]])
使用x和y坐标作为文本的左上角,将文本s写成框架。文本的颜色可以通过可选参数c来定义,但否则默认值为1。参数m设置了文本的大小倍数。带有“ FrameBuffer.text()”方法的文本的正常大小为8x8像素。这将是1的倍数。要获得更大的文本输出,例如,使用16x16像素字符,例如使用2用于M参数。可选参数R控制文本的旋转,0度为默认值,90、180和270度。另外,T参数使字符串中的单个字符独立旋转至0、90、180或270度。
circle(x0, y0, radius, c [, f:bool] )
在x0, y0上绘制一个圆圈,带有指定的radius和边框颜色c (整数)。通过添加f=True ,可选地填充圆圈。
triangle(x0, y0, x1, y1, x2, y2, c [, f:bool] )
在点x0,y0 , x1,y1和x2,y2和Border Color, c (Integer)上绘制带顶点的三角形。通过添加f=True ,可选地填充圆圈。
示例使用:
# display is a framebuffer object
display.large_text('double', 0, 0, 2, 1) # double size text
display.large_text('size!', 0, 16, 2, 1)
display.large_text('HUGE', 0, 32, 4, 1) # quadruple size text
# draw a circle centred at point (x=64, y=64) with radius 56 and colour 1.
display.circle(64, 64, 56 , c=1)
display.circle(64, 64, 48 , c=1, f=True) # filled circle
# draw a filled triangle with corners at (x=0, y=0), (x=0, y=127) and (x=127, y=127)
# filled with colour 1.
display.triangle(0, 0, 0, 127, 127, 127, c=1, f=True)
此SH1107显示驱动程序的示例代码中包含其他示例
使用以下内容导入模块并扩展Framebuffer类。
import framebuf2 as framebuf
然后,除了所有标准方法之外,FrameBuffer类还将提供这些其他方法。
使用Micropython版本1.19.1。还将与其他版本一起使用。