Limit preview to webp and RGB jpeg.
This commit is contained in:
parent
9f3a19b728
commit
2ec980bb9f
13
server.py
13
server.py
|
@ -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":
|
image_format = preview_info[0]
|
||||||
img = img.convert("L")
|
if image_format not in ['webp', 'jpeg']:
|
||||||
image_format = preview_info[1]
|
image_format = 'webp'
|
||||||
else:
|
|
||||||
img = img.convert("RGB") # jpeg doesn't support RGBA
|
|
||||||
image_format = preview_info[0]
|
|
||||||
|
|
||||||
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}',
|
||||||
|
|
|
@ -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}
|
||||||
*/
|
*/
|
||||||
|
|
Loading…
Reference in New Issue