mirror of
https://github.com/Ultimaker/Cura.git
synced 2025-07-06 22:47:29 -06:00
Fix thumbnail creation
CURA-9120
This commit is contained in:
parent
204eeaf272
commit
50954552d2
4 changed files with 7 additions and 7 deletions
|
@ -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
|
||||||
|
|
|
@ -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")
|
||||||
|
|
|
@ -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())
|
||||||
|
|
|
@ -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())
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue