From d43cff21055fdd0054acba075cea19740bca69da Mon Sep 17 00:00:00 2001 From: "Dr.Lt.Data" Date: Sat, 8 Jul 2023 01:42:33 +0900 Subject: [PATCH 1/2] bugfix: image widget's was mis-aligned when node has multiline widget --- web/scripts/app.js | 6 +++++- web/scripts/widgets.js | 1 + 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/web/scripts/app.js b/web/scripts/app.js index 09310c7f8..bf424058f 100644 --- a/web/scripts/app.js +++ b/web/scripts/app.js @@ -368,7 +368,11 @@ export class ComfyApp { shiftY = w.last_y; if (w.computeSize) { shiftY += w.computeSize()[1] + 4; - } else { + } + else if(w.computedHeight) { + shiftY += w.computedHeight; + } + else { shiftY += LiteGraph.NODE_WIDGET_HEIGHT + 4; } } else { diff --git a/web/scripts/widgets.js b/web/scripts/widgets.js index dfa26aef4..89d4a2e38 100644 --- a/web/scripts/widgets.js +++ b/web/scripts/widgets.js @@ -129,6 +129,7 @@ function addMultilineWidget(node, name, opts, app) { w.y = y; if (w.type === "customtext") { y += freeSpace; + w.computedHeight = freeSpace - multi.length*4; } else if (w.computeSize) { y += w.computeSize()[1] + 4; } else { From 9caab9380de707518b9efc7e4dde8d998fb0b9d9 Mon Sep 17 00:00:00 2001 From: "Dr.Lt.Data" <128333288+ltdrdata@users.noreply.github.com> Date: Sat, 8 Jul 2023 15:36:48 +0900 Subject: [PATCH 2/2] fix: Image.ANTIALIAS is no longer available. (#847) * modify deprecated api call * prevent breaking old Pillow users * change LANCZOS to BILINEAR --- latent_preview.py | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/latent_preview.py b/latent_preview.py index 1d143339c..833e6822e 100644 --- a/latent_preview.py +++ b/latent_preview.py @@ -3,7 +3,6 @@ from PIL import Image, ImageOps from io import BytesIO import struct import numpy as np - from comfy.cli_args import args, LatentPreviewMethod from comfy.taesd.taesd import TAESD import folder_paths @@ -16,7 +15,13 @@ class LatentPreviewer: def decode_latent_to_preview_image(self, preview_format, x0): preview_image = self.decode_latent_to_preview(x0) - preview_image = ImageOps.contain(preview_image, (MAX_PREVIEW_RESOLUTION, MAX_PREVIEW_RESOLUTION), Image.ANTIALIAS) + + if hasattr(Image, 'Resampling'): + resampling = Image.Resampling.BILINEAR + else: + resampling = Image.ANTIALIAS + + preview_image = ImageOps.contain(preview_image, (MAX_PREVIEW_RESOLUTION, MAX_PREVIEW_RESOLUTION), resampling) preview_type = 1 if preview_format == "JPEG":