Browse Source

Fix thumbnail creation

CURA-9120
Jaime van Kessel 2 years ago
parent
commit
50954552d2

+ 4 - 4
cura/Snapshot.py

@@ -21,7 +21,7 @@ class Snapshot:
     def getImageBoundaries(image: QImage):
         # Look at the resulting image to get a good crop.
         # Get the pixels as byte array
-        pixel_array = image.bits().asarray(image.byteCount())
+        pixel_array = image.bits().asarray(image.sizeInBytes())
         width, height = image.width(), image.height()
         # Convert to numpy array, assume it's 32 bit (it should always be)
         pixels = numpy.frombuffer(pixel_array, dtype=numpy.uint8).reshape([height, width, 4])
@@ -98,7 +98,7 @@ class Snapshot:
             try:
                 min_x, max_x, min_y, max_y = Snapshot.getImageBoundaries(pixel_output)
             except (ValueError, AttributeError):
-                Logger.log("w", "Failed to crop the snapshot!")
+                Logger.logException("w", "Failed to crop the snapshot!")
                 return None
 
             size = max((max_x - min_x) / render_width, (max_y - min_y) / render_height)
@@ -120,7 +120,7 @@ class Snapshot:
         # Scale it to the correct size
         scaled_image = cropped_image.scaled(
             width, height,
-            aspectRatioMode = QtCore.Qt.IgnoreAspectRatio,
-            transformMode = QtCore.Qt.SmoothTransformation)
+            aspectRatioMode = QtCore.Qt.AspectRatioMode.IgnoreAspectRatio,
+            transformMode = QtCore.Qt.TransformationMode.SmoothTransformation)
 
         return scaled_image

+ 1 - 1
plugins/3MFWriter/ThreeMFWriter.py

@@ -157,7 +157,7 @@ class ThreeMFWriter(MeshWriter):
             snapshot = self._createSnapshot()
             if snapshot:
                 thumbnail_buffer = QBuffer()
-                thumbnail_buffer.open(QBuffer.ReadWrite)
+                thumbnail_buffer.open(QBuffer.OpenModeFlag.ReadWrite)
                 snapshot.save(thumbnail_buffer, "PNG")
 
                 thumbnail_file = zipfile.ZipInfo("Metadata/thumbnail.png")

+ 1 - 1
plugins/PostProcessingPlugin/scripts/CreateThumbnail.py

@@ -22,7 +22,7 @@ class CreateThumbnail(Script):
         Logger.log("d", "Encoding thumbnail image...")
         try:
             thumbnail_buffer = QBuffer()
-            thumbnail_buffer.open(QBuffer.ReadWrite)
+            thumbnail_buffer.open(QBuffer.OpenModeFlag.ReadWrite)
             thumbnail_image = snapshot
             thumbnail_image.save(thumbnail_buffer, "PNG")
             base64_bytes = base64.b64encode(thumbnail_buffer.data())

+ 1 - 1
plugins/UFPWriter/UFPWriter.py

@@ -83,7 +83,7 @@ class UFPWriter(MeshWriter):
                 thumbnail = archive.getStream("/Metadata/thumbnail.png")
 
                 thumbnail_buffer = QBuffer()
-                thumbnail_buffer.open(QBuffer.ReadWrite)
+                thumbnail_buffer.open(QBuffer.OpenModeFlag.ReadWrite)
                 snapshot.save(thumbnail_buffer, "PNG")
 
                 thumbnail.write(thumbnail_buffer.data())