Skip to content

Commit 16c7428

Browse files
committed
overlay_scale feature
1 parent ac7d37f commit 16c7428

File tree

2 files changed

+17
-7
lines changed

2 files changed

+17
-7
lines changed

adafruit_pycamera/__init__.py

Lines changed: 9 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -240,6 +240,7 @@ def __init__(self) -> None: # pylint: disable=too-many-statements
240240
self.combined_bmp = None
241241
self.preview_scale = None
242242
self.overlay_position = [None, None]
243+
self.overlay_scale = 1.0
243244
self.splash = displayio.Group()
244245

245246
# Reset display and I/O expander
@@ -929,13 +930,15 @@ def blit_overlay_into_last_capture(self):
929930

930931
self.decoder.decode(photo_bitmap, scale=0, x=0, y=0)
931932

932-
bitmaptools.blit(
933+
bitmaptools.rotozoom(
933934
photo_bitmap,
934935
self.overlay_bmp,
935-
self.overlay_position[0] if self.overlay_position[0] is not None else 0,
936-
self.overlay_position[1] if self.overlay_position[1] is not None else 0,
937-
skip_source_index=self.overlay_transparency_color,
938-
skip_dest_index=None,
936+
ox=self.overlay_position[0] if self.overlay_position[0] is not None else 0,
937+
oy=self.overlay_position[1] if self.overlay_position[1] is not None else 0,
938+
px=0 if self.overlay_position[0] is not None else None,
939+
py=0 if self.overlay_position[1] is not None else None,
940+
skip_index=self.overlay_transparency_color,
941+
scale=self.overlay_scale,
939942
)
940943

941944
cc565_swapped = ColorConverter(input_colorspace=Colorspace.RGB565_SWAPPED)
@@ -1007,7 +1010,7 @@ def blit(self, bitmap, x_offset=0, y_offset=32):
10071010
bitmaptools.rotozoom(
10081011
self.combined_bmp,
10091012
self.overlay_bmp,
1010-
scale=self.preview_scale,
1013+
scale=self.preview_scale * self.overlay_scale,
10111014
skip_index=self.overlay_transparency_color,
10121015
ox=int(self.overlay_position[0] * self.preview_scale)
10131016
if self.overlay_position[0] is not None

examples/overlay/code_select.py

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,9 +2,16 @@
22
# SPDX-FileCopyrightText: Copyright (c) 2024 Tim Cocks for Adafruit Industries
33
#
44
# SPDX-License-Identifier: MIT
5-
""" simple point-and-shoot camera example, with overly selecting using select button.
5+
""" simple point-and-shoot camera example, with overly capabilities.
66
77
Place all overlay files inside /sd/overlays/ directory.
8+
9+
Usage:
10+
11+
Select Button - Change to the next overlay file
12+
OK Button - Change between position and scale modes
13+
D-Pad - Change the overlay's position or scale depending on which mode
14+
we're currently in.
815
"""
916
import os
1017
import time

0 commit comments

Comments
 (0)