hires button, opt insert gallery

add option to insert the resulting images into Gallery as opposed to replace original when using high button to perform upscale
This commit is contained in:
w-e-w 2024-08-19 06:11:08 +09:00
parent 48239090f1
commit a1219e84e2
2 changed files with 8 additions and 3 deletions

View File

@ -314,6 +314,7 @@ options_templates.update(options_section(('ui_gallery', "Gallery", "ui"), {
"sd_webui_modal_lightbox_toolbar_opacity": OptionInfo(0.9, "Full page image viewer: tool bar opacity", gr.Slider, {"minimum": 0.0, "maximum": 1, "step": 0.01}, onchange=shared.reload_gradio_theme).info('for mouse only').needs_reload_ui(), "sd_webui_modal_lightbox_toolbar_opacity": OptionInfo(0.9, "Full page image viewer: tool bar opacity", gr.Slider, {"minimum": 0.0, "maximum": 1, "step": 0.01}, onchange=shared.reload_gradio_theme).info('for mouse only').needs_reload_ui(),
"gallery_height": OptionInfo("", "Gallery height", gr.Textbox).info("can be any valid CSS value, for example 768px or 20em").needs_reload_ui(), "gallery_height": OptionInfo("", "Gallery height", gr.Textbox).info("can be any valid CSS value, for example 768px or 20em").needs_reload_ui(),
"open_dir_button_choice": OptionInfo("Subdirectory", "What directory the [📂] button opens", gr.Radio, {"choices": ["Output Root", "Subdirectory", "Subdirectory (even temp dir)"]}), "open_dir_button_choice": OptionInfo("Subdirectory", "What directory the [📂] button opens", gr.Radio, {"choices": ["Output Root", "Subdirectory", "Subdirectory (even temp dir)"]}),
"hires_button_gallery_inset": OptionInfo(False, "Insert [✨] hires button results to gallery").info("when False the original first pass image is replaced by the results"),
})) }))
options_templates.update(options_section(('ui_alternatives', "UI alternatives", "ui"), { options_templates.update(options_section(('ui_alternatives', "UI alternatives", "ui"), {

View File

@ -87,15 +87,19 @@ def txt2img_upscale(id_task: str, request: gr.Request, gallery, gallery_index, g
new_gallery = [] new_gallery = []
for i, image in enumerate(gallery): for i, image in enumerate(gallery):
if i == gallery_index: if i == gallery_index:
geninfo["infotexts"][gallery_index: gallery_index+1] = processed.infotexts if shared.opts.hires_button_gallery_inset:
fake_image = Image.new(mode="RGB", size=(1, 1))
fake_image.already_saved_as = image["name"].rsplit('?', 1)[0]
new_gallery.append(fake_image)
geninfo["infotexts"][gallery_index+1: gallery_index+1] = processed.infotexts
else:
geninfo["infotexts"][gallery_index: gallery_index+1] = processed.infotexts
new_gallery.extend(processed.images) new_gallery.extend(processed.images)
else: else:
fake_image = Image.new(mode="RGB", size=(1, 1)) fake_image = Image.new(mode="RGB", size=(1, 1))
fake_image.already_saved_as = image["name"].rsplit('?', 1)[0] fake_image.already_saved_as = image["name"].rsplit('?', 1)[0]
new_gallery.append(fake_image) new_gallery.append(fake_image)
geninfo["infotexts"][gallery_index] = processed.info
return new_gallery, json.dumps(geninfo), plaintext_to_html(processed.info), plaintext_to_html(processed.comments, classname="comments") return new_gallery, json.dumps(geninfo), plaintext_to_html(processed.info), plaintext_to_html(processed.comments, classname="comments")