Commit 6cbb04f7 authored by AUTOMATIC's avatar AUTOMATIC

fix #3517 breaking txt2img

parent e9a410b5
...@@ -46,18 +46,23 @@ def apply_color_correction(correction, image): ...@@ -46,18 +46,23 @@ def apply_color_correction(correction, image):
return image return image
def apply_overlay(overlay_exists, overlay, paste_loc, image):
if overlay_exists: def apply_overlay(image, paste_loc, index, overlays):
if paste_loc is not None: if overlays is None or index >= len(overlays):
x, y, w, h = paste_loc return image
base_image = Image.new('RGBA', (overlay.width, overlay.height))
image = images.resize_image(1, image, w, h) overlay = overlays[index]
base_image.paste(image, (x, y))
image = base_image if paste_loc is not None:
x, y, w, h = paste_loc
image = image.convert('RGBA') base_image = Image.new('RGBA', (overlay.width, overlay.height))
image.alpha_composite(overlay) image = images.resize_image(1, image, w, h)
image = image.convert('RGB') base_image.paste(image, (x, y))
image = base_image
image = image.convert('RGBA')
image.alpha_composite(overlay)
image = image.convert('RGB')
return image return image
...@@ -463,11 +468,11 @@ def process_images(p: StableDiffusionProcessing) -> Processed: ...@@ -463,11 +468,11 @@ def process_images(p: StableDiffusionProcessing) -> Processed:
if p.color_corrections is not None and i < len(p.color_corrections): if p.color_corrections is not None and i < len(p.color_corrections):
if opts.save and not p.do_not_save_samples and opts.save_images_before_color_correction: if opts.save and not p.do_not_save_samples and opts.save_images_before_color_correction:
image_without_cc = apply_overlay(p.overlay_images is not None and i < len(p.overlay_images), p.overlay_images[i], p.paste_to, image) image_without_cc = apply_overlay(image, p.paste_to, i, p.overlay_images)
images.save_image(image_without_cc, p.outpath_samples, "", seeds[i], prompts[i], opts.samples_format, info=infotext(n, i), p=p, suffix="-before-color-correction") images.save_image(image_without_cc, p.outpath_samples, "", seeds[i], prompts[i], opts.samples_format, info=infotext(n, i), p=p, suffix="-before-color-correction")
image = apply_color_correction(p.color_corrections[i], image) image = apply_color_correction(p.color_corrections[i], image)
image = apply_overlay(p.overlay_images is not None and i < len(p.overlay_images), p.overlay_images[i], p.paste_to, image) image = apply_overlay(image, p.paste_to, i, p.overlay_images)
if opts.samples_save and not p.do_not_save_samples: if opts.samples_save and not p.do_not_save_samples:
images.save_image(image, p.outpath_samples, "", seeds[i], prompts[i], opts.samples_format, info=infotext(n, i), p=p) images.save_image(image, p.outpath_samples, "", seeds[i], prompts[i], opts.samples_format, info=infotext(n, i), p=p)
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment