Este módulo extiende la clase FrameBuffer en el módulo FrameBUF de Micopython. Permite el dibujo de texto doble, triple, cuádruple y de tamaño más grande a los objetos FrameBuffer utilizando la fuente incorporada proporcionada en el módulo FrameBuf.
También se incluyen métodos para dibujar triángulos y círculos. Estos pueden ser contornos solo o llenados.
El módulo se ha probado en un Pico Raspberry Pi con una pantalla SH1107 de 128x128 píxeles. Debería funcionar con todos los objetos FrameBuffer de Micripthon.
large_text(s, x, y, m [, c=1] [, r=0 [, t=None]])
Escriba el texto, s , a un marrebuffer utilizando las coordenadas x e y como la esquina superior izquierda del texto. El color del texto puede definirse mediante el argumento opcional, c , pero de otro modo es un valor predeterminado de 1. El parámetro m establece el tamaño múltiple para el texto. El tamaño normal para el texto con el método 'FrameBuffer.Text ()' es 8x8 píxeles. Esto sería un múltiplo de 1. Para obtener una salida de texto más grande, con caracteres de 16x16 píxeles, por ejemplo, use 2 para el parámetro M. El parámetro R opcional R controla la rotación del texto, 0 grados es el valor predeterminado, 90, 180 y 270 grados es posible. Además, el parámetro T permite que los caracteres individuales dentro de una cadena gire de forma independiente a 0, 90, 180 o 270 grados.
circle(x0, y0, radius, c [, f:bool] )
Dibuje un círculo centrado en x0, y0 con el radius especificado y el color del borde, c (entero). Opcionalmente, llene el círculo agregando f=True .
triangle(x0, y0, x1, y1, x2, y2, c [, f:bool] )
Dibuja un triángulo con vértices en los puntos x0,y0 , x1,y1 y x2,y2 y el color del borde, c (entero). Opcionalmente, llene el círculo agregando f=True .
Ejemplo de uso:
# 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)
Se incluyen ejemplos adicionales en el código de ejemplo para este controlador de pantalla SH1107
Use lo siguiente para importar el módulo y extienda la clase FrameBuffer.
import framebuf2 as framebuf
La clase FrameBuffer ofrecerá estos métodos adicionales además de todos los métodos estándar.
Funciona con Micopython versión 1.19.1. También funcionará con otras versiones.