このモジュールは、MicropythonのFrameBufモジュールのFrameBufferクラスを拡張します。 FrameBufモジュールに提供される組み込みのフォントを使用して、FrameBufferオブジェクトにダブル、トリプル、四重、および大きなサイズのテキストを描画できます。
また、三角形と円を描く方法も含まれています。これらは、概要のみまたは入力できます。
このモジュールは、128x128ピクセルSH1107ディスプレイを備えたRaspberry PI PICOでテストされています。すべてのMicropython FrameBufferオブジェクトで動作するはずです。
large_text(s, x, y, m [, c=1] [, r=0 [, t=None]])
テキストをテキストの左上隅としてxとy座標を使用して、テキストをs 、framebufferに書き込みます。テキストの色は、オプションの引数cで定義できますが、それ以外の場合はデフォルト値1です。パラメーターmテキストのサイズ倍数を設定します。 「framebuffer.text()」メソッドを使用したテキストの通常のサイズは8x8ピクセルです。これは1の倍数になります。たとえば、16x16ピクセル文字を使用して、より大きなテキスト出力を取得するには、Mパラメーターに2を使用します。オプションのパラメーターrはテキストの回転を制御します。0度はデフォルトで、90、180、および270度が可能です。さらに、Tパラメーターを使用すると、文字列内の個々の文字を独立して0、90、180、または270度に回転させます。
circle(x0, y0, radius, c [, f:bool] )
指定されたradiusと境界線c (整数)でx0, y0を中心の円を描きます。 f=Trueを追加して、オプションで円を埋めます。
triangle(x0, y0, x1, y1, x2, y2, c [, f:bool] )
ポイントx0,y0 、 x1,y1 x2,y2 、border color、 c (整数)で頂点を持つ三角形を描画します。 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で動作します。他のバージョンでも動作します。