Skip to content

Commit a8f57a3

Browse files
committed
add support for jpg and png images
1 parent bbae5e4 commit a8f57a3

File tree

2 files changed

+13
-3
lines changed

2 files changed

+13
-3
lines changed

adafruit_portalbase/graphics.py

Lines changed: 12 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,7 @@
2323

2424
import gc
2525

26+
import adafruit_imageload
2627
import displayio
2728

2829
__version__ = "0.0.0+auto.0"
@@ -76,11 +77,19 @@ def set_background(self, file_or_color, position=None):
7677

7778
if not file_or_color:
7879
return # we're done, no background desired
79-
if isinstance(file_or_color, str): # its a filenme:
80-
background = displayio.OnDiskBitmap(file_or_color)
80+
if isinstance(file_or_color, str): # it's a filename:
81+
if file_or_color.lower().endswith(".bmp"):
82+
background = displayio.OnDiskBitmap(file_or_color)
83+
palette = background.pixel_shader
84+
elif file_or_color.lower().endswith(".jpg") or file_or_color.lower().endswith(".jpeg"):
85+
background, palette = adafruit_imageload.load(file_or_color)
86+
elif file_or_color.lower().endswith(".png"):
87+
background, palette = adafruit_imageload.load(file_or_color)
88+
else:
89+
raise ValueError(f"Image File type {file_or_color} not supported")
8190
self._bg_sprite = displayio.TileGrid(
8291
background,
83-
pixel_shader=background.pixel_shader,
92+
pixel_shader=palette,
8493
x=position[0],
8594
y=position[1],
8695
)

requirements.txt

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,3 +13,4 @@ adafruit-circuitpython-miniqr
1313
adafruit-circuitpython-requests
1414
adafruit-circuitpython-fakerequests
1515
adafruit-circuitpython-simpleio
16+
adafruit-circuitpython-imageload

0 commit comments

Comments
 (0)