Skip to content

Commit 7bca660

Browse files
Simplify
1 parent 55b5c66 commit 7bca660

File tree

1 file changed

+14
-20
lines changed
  • internal_filesystem/apps/com.micropythonos.camera/assets

1 file changed

+14
-20
lines changed

internal_filesystem/apps/com.micropythonos.camera/assets/camera_app.py

Lines changed: 14 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -143,8 +143,7 @@ def onResume(self, screen):
143143
print(f"camera app: webcam exception: {e}")
144144
if self.cam:
145145
print("Camera app initialized, continuing...")
146-
self.create_preview_image()
147-
self.set_image_size()
146+
self.update_preview_image()
148147
self.capture_timer = lv.timer_create(self.try_capture, 100, None)
149148
self.status_label_cont.add_flag(lv.obj.FLAG.HIDDEN)
150149
if self.scanqr_mode or self.keepliveqrdecoding:
@@ -181,21 +180,7 @@ def onPause(self, screen):
181180
print(f"Warning: powering off camera got exception: {e}")
182181
print("camera app cleanup done.")
183182

184-
def set_image_size(self):
185-
disp = lv.display_get_default()
186-
target_h = disp.get_vertical_resolution()
187-
#target_w = disp.get_horizontal_resolution() - self.button_width - 5 # leave 5px for border
188-
target_w = target_h # square
189-
print(f"scaling to size: {target_w}x{target_h}")
190-
scale_factor_w = round(target_w * 256 / self.width)
191-
scale_factor_h = round(target_h * 256 / self.height)
192-
print(f"scale_factors: {scale_factor_w},{scale_factor_h}")
193-
self.image.set_size(target_w, target_h)
194-
#self.image.set_scale(max(scale_factor_w,scale_factor_h)) # fills the entire screen but cuts off borders
195-
self.image.set_scale(min(scale_factor_w,scale_factor_h))
196-
197-
def create_preview_image(self):
198-
# Create image descriptor once
183+
def update_preview_image(self):
199184
self.image_dsc = lv.image_dsc_t({
200185
"header": {
201186
"magic": lv.IMAGE_HEADER_MAGIC,
@@ -208,7 +193,17 @@ def create_preview_image(self):
208193
'data': None # Will be updated per frame
209194
})
210195
self.image.set_src(self.image_dsc)
211-
196+
disp = lv.display_get_default()
197+
target_h = disp.get_vertical_resolution()
198+
#target_w = disp.get_horizontal_resolution() - self.button_width - 5 # leave 5px for border
199+
target_w = target_h # square
200+
print(f"scaling to size: {target_w}x{target_h}")
201+
scale_factor_w = round(target_w * 256 / self.width)
202+
scale_factor_h = round(target_h * 256 / self.height)
203+
print(f"scale_factors: {scale_factor_w},{scale_factor_h}")
204+
self.image.set_size(target_w, target_h)
205+
#self.image.set_scale(max(scale_factor_w,scale_factor_h)) # fills the entire screen but cuts off borders
206+
self.image.set_scale(min(scale_factor_w,scale_factor_h))
212207

213208
def qrdecode_one(self):
214209
try:
@@ -364,8 +359,7 @@ def handle_settings_result(self, result):
364359
self.status_label_cont.remove_flag(lv.obj.FLAG.HIDDEN)
365360
return # Don't continue if camera failed
366361

367-
self.create_preview_image()
368-
self.set_image_size()
362+
self.update_preview_image()
369363

370364
def try_capture(self, event):
371365
#print("capturing camera frame")

0 commit comments

Comments
 (0)