Fix thumbnail creation

CURA-9120
This commit is contained in:
Jaime van Kessel 2022-04-13 16:53:11 +02:00
parent 204eeaf272
commit 50954552d2
4 changed files with 7 additions and 7 deletions

View file

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

View file

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

View file

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

View file

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