Ce module étend la classe FrameBuffer dans le module FrameBuf de Micropython. Il permet le dessin d'objets doubles, triples, quadruples et de plus grande taille aux objets FrameBuffer en utilisant la police intégrée fournie dans le module FrameBuf.
Les méthodes pour dessiner des triangles et des cercles. Ceux-ci peuvent être des contours uniquement ou remplis.
Le module a été testé sur un Raspberry Pi Pico avec un écran SH1107 de 128x128 pixels. Il devrait fonctionner avec tous les objets Micropython FrameBuffer.
large_text(s, x, y, m [, c=1] [, r=0 [, t=None]])
Écrivez du texte, s , à un framebuffer en utilisant les coordonnées x et y comme le coin supérieur gauche du texte. La couleur du texte peut être définie par l'argument facultatif, c , mais est par ailleurs une valeur par défaut de 1. Le paramètre m définit la taille multiple pour le texte. La taille normale du texte avec la méthode 'framebuffer.text ()' est de 8x8 pixels. Ce serait un multiple de 1. Pour obtenir une sortie de texte plus grande, avec des caractères de 16x16 pixels, par exemple, utilisez 2 pour le paramètre m. Le paramètre facultatif R contrôle la rotation du texte, 0 degrés est la valeur par défaut, 90, 180 et 270 degrés sont possibles. De plus, le paramètre T permet aux caractères individuels d'une chaîne d'être tournés indépendamment à 0, 90, 180 ou 270 degrés.
circle(x0, y0, radius, c [, f:bool] )
Dessinez un cercle centré sur x0, y0 avec le radius et la couleur de bordure spécifiés, c (entier). Remplissez éventuellement le cercle en ajoutant f=True .
triangle(x0, y0, x1, y1, x2, y2, c [, f:bool] )
Dessinez un triangle avec des sommets aux points x0,y0 , x1,y1 et x2,y2 et couleur bordure, c (entier). Remplissez éventuellement le cercle en ajoutant f=True .
Exemple d'utilisation:
# 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)
Des exemples supplémentaires sont inclus dans l'exemple de code pour ce pilote d'affichage SH1107
Utilisez ce qui suit pour importer le module et étendez la classe FrameBuffer.
import framebuf2 as framebuf
La classe FrameBuffer offrira ensuite ces méthodes supplémentaires en plus de toutes les méthodes standard.
Fonctionne avec Micropython version 1.19.1. Travaillera également avec d'autres versions.