You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
49 lines
1.8 KiB
Python
49 lines
1.8 KiB
Python
1 year ago
|
#!/usr/bin/env python
|
||
|
|
||
|
# (This is an example similar to an example from the Adafruit fork
|
||
|
# to show the similarities. Most important difference currently is, that
|
||
|
# this library wants RGB mode.)
|
||
|
#
|
||
|
# A more complex RGBMatrix example works with the Python Imaging Library,
|
||
|
# demonstrating a few graphics primitives and image loading.
|
||
|
# Note that PIL graphics do not have an immediate effect on the display --
|
||
|
# image is drawn into a separate buffer, which is then copied to the matrix
|
||
|
# using the SetImage() function (see examples below).
|
||
|
# Requires rgbmatrix.so present in the same directory.
|
||
|
|
||
|
# PIL Image module (create or load images) is explained here:
|
||
|
# http://effbot.org/imagingbook/image.htm
|
||
|
# PIL ImageDraw module (draw shapes to images) explained here:
|
||
|
# http://effbot.org/imagingbook/imagedraw.htm
|
||
|
|
||
|
from PIL import Image
|
||
|
from PIL import ImageDraw
|
||
|
import time
|
||
|
from rgbmatrix import RGBMatrix, RGBMatrixOptions
|
||
|
|
||
|
# Configuration for the matrix
|
||
|
options = RGBMatrixOptions()
|
||
|
options.rows = 32
|
||
|
options.chain_length = 1
|
||
|
options.parallel = 1
|
||
|
options.hardware_mapping = 'regular' # If you have an Adafruit HAT: 'adafruit-hat'
|
||
|
|
||
|
matrix = RGBMatrix(options = options)
|
||
|
|
||
|
# RGB example w/graphics prims.
|
||
|
# Note, only "RGB" mode is supported currently.
|
||
|
image = Image.new("RGB", (32, 32)) # Can be larger than matrix if wanted!!
|
||
|
draw = ImageDraw.Draw(image) # Declare Draw instance before prims
|
||
|
# Draw some shapes into image (no immediate effect on matrix)...
|
||
|
draw.rectangle((0, 0, 31, 31), fill=(0, 0, 0), outline=(0, 0, 255))
|
||
|
draw.line((0, 0, 31, 31), fill=(255, 0, 0))
|
||
|
draw.line((0, 31, 31, 0), fill=(0, 255, 0))
|
||
|
|
||
|
# Then scroll image across matrix...
|
||
|
for n in range(-32, 33): # Start off top-left, move off bottom-right
|
||
|
matrix.Clear()
|
||
|
matrix.SetImage(image, n, n)
|
||
|
time.sleep(0.05)
|
||
|
|
||
|
matrix.Clear()
|