Skip to content

Commit 7aa6fb8

Browse files
authored
Merge pull request #111 from FoamyGuy/more_image_types
add support for jpg and png images
2 parents fed4888 + 9ffb066 commit 7aa6fb8

File tree

2 files changed

+16
-3
lines changed

2 files changed

+16
-3
lines changed

adafruit_portalbase/graphics.py

Lines changed: 15 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,22 @@ 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+
file_lower = file_or_color.lower()
82+
if file_lower.endswith(".bmp"):
83+
background = displayio.OnDiskBitmap(file_or_color)
84+
palette = background.pixel_shader
85+
elif (
86+
file_lower.endswith(".jpg")
87+
or file_lower.endswith(".jpeg")
88+
or file_lower.endswith(".png")
89+
):
90+
background, palette = adafruit_imageload.load(file_or_color)
91+
else:
92+
raise ValueError(f"Image File type {file_or_color} not supported")
8193
self._bg_sprite = displayio.TileGrid(
8294
background,
83-
pixel_shader=background.pixel_shader,
95+
pixel_shader=palette,
8496
x=position[0],
8597
y=position[1],
8698
)

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)