Modul ini memperluas kelas FrameBuffer dalam Modul Framebuf Micropython. Ini memungkinkan gambar teks ganda, tiga, quadruple, dan ukuran yang lebih besar ke objek Framebuffer menggunakan font bawaan yang disediakan dalam modul Framebuf.
Juga termasuk metode untuk menggambar segitiga dan lingkaran. Ini hanya dapat diuraikan atau diisi.
Modul telah diuji pada raspberry pi pico dengan layar 128x128 piksel SH1107. Ini harus bekerja dengan semua objek Micropython Framebuffer.
large_text(s, x, y, m [, c=1] [, r=0 [, t=None]])
Tulis teks, s , ke framebuffer menggunakan koordinat x dan y sebagai sudut kiri atas teks. Warna teks dapat ditentukan oleh argumen opsional, c , tetapi sebaliknya merupakan nilai default 1. Parameter m mengatur ukuran beberapa untuk teks. Ukuran normal untuk teks dengan metode 'FrameBuffer.Text ()' adalah 8x8 piksel. Ini akan menjadi kelipatan 1. Untuk mendapatkan output teks yang lebih besar, dengan karakter piksel 16x16, misalnya, gunakan 2 untuk parameter M. Parameter opsional R mengontrol rotasi teks, 0 derajat adalah default, 90, 180 dan 270 derajat dimungkinkan. Selain itu parameter T memungkinkan karakter individu dalam string diputar secara independen ke 0, 90, 180 atau 270 derajat.
circle(x0, y0, radius, c [, f:bool] )
Gambarlah lingkaran yang berpusat pada x0, y0 dengan radius dan warna perbatasan yang ditentukan, c (integer). Secara opsional isi lingkaran dengan menambahkan f=True .
triangle(x0, y0, x1, y1, x2, y2, c [, f:bool] )
Gambar segitiga dengan simpul pada titik x0,y0 , x1,y1 dan x2,y2 dan warna batas, c (integer). Secara opsional isi lingkaran dengan menambahkan f=True .
Contoh Penggunaan:
# 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)
Contoh tambahan termasuk dalam kode contoh untuk driver tampilan sh1107 ini
Gunakan yang berikut untuk mengimpor modul dan memperluas kelas Framebuffer.
import framebuf2 as framebuf
Kelas Framebuffer kemudian akan menawarkan metode tambahan ini selain semua metode standar.
Bekerja dengan Micropython versi 1.19.1. Juga akan bekerja dengan versi lain.