Add explicit method for getting qimage to ProcessingImage

This commit is contained in:
twodoorcoupe
2024-06-28 09:15:31 +02:00
parent 5a8031d2a2
commit 2357b2cdaa
4 changed files with 10 additions and 10 deletions

View File

@@ -67,13 +67,13 @@ def run_image_processors(data, coverartimage):
tags_image = image.copy()
for processor in tags_queue:
processor.run(tags_image, ProcessingTarget.TAGS)
tags_data = tags_image.get_result(default_format=True)
tags_data = tags_image.get_result()
coverartimage.set_tags_data(tags_data)
if config.setting['save_images_to_files']:
file_image = image.copy()
for processor in file_queue:
processor.run(file_image, ProcessingTarget.FILE)
file_data = file_image.get_result(default_format=True)
file_data = file_image.get_result()
coverartimage.set_external_file_data(file_data)
log.debug(
"Image processing for %s finished in %d ms",

View File

@@ -100,7 +100,7 @@ class ResizeImage(ImageProcessor):
# no resizing needed
return
qimage = image.get_result()
qimage = image.get_qimage()
if stretch:
scaled_image = qimage.scaled(width_resize, height_resize, Qt.AspectRatioMode.IgnoreAspectRatio)
elif crop:

View File

@@ -63,11 +63,11 @@ class ProcessingImage:
else:
self._qimage = QImage.fromData(image)
def get_result(self, image_format=None, default_format=False, quality=90):
if image_format is None:
if not default_format:
def get_qimage(self):
return self._qimage
else:
def get_result(self, image_format=None, quality=90):
if image_format is None:
image_format = self.info.format
buffer = QBuffer()
if not self._qimage.save(buffer, image_format, quality=quality):

View File

@@ -162,7 +162,7 @@ class ImageProcessorsTest(PicardTestCase):
image = ProcessingImage(create_fake_image(size[0], size[1], 'jpg'))
processor = ResizeImage()
processor.run(image, ProcessingTarget.TAGS)
new_size = (image.get_result().width(), image.get_result().height())
new_size = (image.get_qimage().width(), image.get_qimage().height())
new_info_size = (image.info.width, image.info.height)
self.assertEqual(new_size, expected_size)
self.assertEqual(new_info_size, expected_size)
@@ -285,7 +285,7 @@ class ImageProcessorsTest(PicardTestCase):
image = ProcessingImage(create_fake_image(100, 100, format))
processor = ConvertImage()
processor.run(image, ProcessingTarget.TAGS)
new_image = image.get_result(default_format=True)
new_image = image.get_result()
new_info = imageinfo.identify(new_image)
self.assertIn(new_info.format, ConvertImage._format_aliases[expected_format])