Этот модуль расширяет класс FrameBuffer в модуле MicropyThon FrameBuf. Он позволяет чертеж двойного, тройного, четырехкратного и большего размера текста к объектам Framebuffer, используя встроенный шрифт, предоставленный в модуле FrameBuf.
Также включены методы для рисования треугольников и кругов. Они могут быть только наброшены или заполнены.
Модуль был протестирован на Raspberry Pi Pico с дисплеем SH1107 128x128. Это должно работать со всеми объектами микропитона кадров.
large_text(s, x, y, m [, c=1] [, r=0 [, t=None]])
Напишите текст, s , для кадриста, используя координаты x и y в качестве верхнего левого угла текста. Цвет текста может быть определен необязательным аргументом, 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 (целое число). При желании заполните круг, добавив 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. Также будет работать с другими версиями.