Limit preview to webp and RGB jpeg.

This commit is contained in:
comfyanonymous 2023-06-05 01:38:32 -04:00
parent 9f3a19b728
commit 2ec980bb9f
2 changed files with 8 additions and 10 deletions

View File

@ -221,19 +221,18 @@ class PromptServer():
with Image.open(file) as img: with Image.open(file) as img:
preview_info = request.rel_url.query['preview'].split(';') preview_info = request.rel_url.query['preview'].split(';')
if preview_info[0] == "L" or preview_info[0] == "l":
img = img.convert("L")
image_format = preview_info[1]
else:
img = img.convert("RGB") # jpeg doesn't support RGBA
image_format = preview_info[0] image_format = preview_info[0]
if image_format not in ['webp', 'jpeg']:
image_format = 'webp'
quality = 90 quality = 90
if preview_info[-1].isdigit(): if preview_info[-1].isdigit():
quality = int(preview_info[-1]) quality = int(preview_info[-1])
buffer = BytesIO() buffer = BytesIO()
img.save(buffer, format=image_format, optimize=True, quality=quality) if image_format in ['jpeg']:
img = img.convert("RGB")
img.save(buffer, format=image_format, quality=quality)
buffer.seek(0) buffer.seek(0)
return web.Response(body=buffer.read(), content_type=f'image/{image_format}', return web.Response(body=buffer.read(), content_type=f'image/{image_format}',

View File

@ -465,12 +465,11 @@ export class ComfyUI {
/** /**
* file format for preview * file format for preview
* *
* L?;format;quality * format;quality
* *
* ex) * ex)
* L;webp;50 -> grayscale, webp, quality 50 * webp;50 -> webp, quality 50
* jpeg;80 -> rgb, jpeg, quality 80 * jpeg;80 -> rgb, jpeg, quality 80
* png -> rgb, png, default quality(=90)
* *
* @type {string} * @type {string}
*/ */