Browse Source

Limit preview to webp and RGB jpeg.

pull/717/merge
comfyanonymous 1 year ago
parent
commit
2ec980bb9f
  1. 13
      server.py
  2. 5
      web/scripts/ui.js

13
server.py

@ -221,19 +221,18 @@ class PromptServer():
with Image.open(file) as img:
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
if preview_info[-1].isdigit():
quality = int(preview_info[-1])
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)
return web.Response(body=buffer.read(), content_type=f'image/{image_format}',

5
web/scripts/ui.js

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

Loading…
Cancel
Save