mirror of
https://github.com/fergalmoran/picard.git
synced 2025-12-22 09:18:18 +00:00
Add explicit method for getting qimage to ProcessingImage
This commit is contained in:
@@ -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",
|
||||
|
||||
@@ -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:
|
||||
|
||||
@@ -63,12 +63,12 @@ class ProcessingImage:
|
||||
else:
|
||||
self._qimage = QImage.fromData(image)
|
||||
|
||||
def get_result(self, image_format=None, default_format=False, quality=90):
|
||||
def get_qimage(self):
|
||||
return self._qimage
|
||||
|
||||
def get_result(self, image_format=None, quality=90):
|
||||
if image_format is None:
|
||||
if not default_format:
|
||||
return self._qimage
|
||||
else:
|
||||
image_format = self.info.format
|
||||
image_format = self.info.format
|
||||
buffer = QBuffer()
|
||||
if not self._qimage.save(buffer, image_format, quality=quality):
|
||||
raise CoverArtEncodingError(f"Failed to encode into {image_format}")
|
||||
|
||||
@@ -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])
|
||||
|
||||
|
||||
Reference in New Issue
Block a user