make pasting into img2img prompt work

make image params request not use temp files
This commit is contained in:
AUTOMATIC 2022-10-14 18:15:03 +03:00
parent 33ae6be55e
commit 0aec19d783
2 changed files with 20 additions and 23 deletions

View File

@ -1,4 +1,5 @@
import datetime
import io
import math
import os
from collections import namedtuple
@ -465,21 +466,20 @@ def save_image(image, path, basename, seed=None, prompt=None, extension='png', i
return fullfn, txt_fullfn
def image_data(image_path):
file, ext = os.path.splitext(image_path.name)
data = {}
if "png" in ext:
image = Image.open(image_path.name, "r")
print(f"Image data requested for {image_path.name} {image.format} of {type(image)}")
try:
data = image.text["parameters"]
except Exception as e:
print(f"Exception: {e}")
pass
print(f"Image data: {data}")
if "txt" in ext:
myfile = open(image_path.name, 'r')
data = myfile.read()
myfile.close()
def image_data(data):
try:
image = Image.open(io.BytesIO(data))
textinfo = image.text["parameters"]
return textinfo, None
except Exception:
pass
return data, None
try:
text = data.decode('utf8')
assert len(text) < 10000
return text, None
except Exception:
pass
return '', None

View File

@ -514,7 +514,7 @@ def create_ui(wrap_gradio_gpu_call):
with gr.Blocks(analytics_enabled=False) as txt2img_interface:
txt2img_prompt, roll, txt2img_prompt_style, txt2img_negative_prompt, txt2img_prompt_style2, submit, _, _, txt2img_prompt_style_apply, txt2img_save_style, paste, token_counter, token_button = create_toprow(is_img2img=False)
dummy_component = gr.Label(visible=False)
txt_prompt_img = gr.File(label="", elem_id="txt2img_prompt_image", file_count="single", type="file", visible=False)
txt_prompt_img = gr.File(label="", elem_id="txt2img_prompt_image", file_count="single", type="bytes", visible=False)
with gr.Row(elem_id='txt2img_progress_row'):
with gr.Column(scale=1):
@ -620,7 +620,6 @@ def create_ui(wrap_gradio_gpu_call):
txt_prompt_img.change(
fn=modules.images.image_data,
# _js = "get_extras_tab_index",
inputs=[
txt_prompt_img
],
@ -692,8 +691,7 @@ def create_ui(wrap_gradio_gpu_call):
img2img_prompt, roll, img2img_prompt_style, img2img_negative_prompt, img2img_prompt_style2, submit, img2img_interrogate, img2img_deepbooru, img2img_prompt_style_apply, img2img_save_style, paste, token_counter, token_button = create_toprow(is_img2img=True)
with gr.Row(elem_id='img2img_progress_row'):
img2img_prompt_img = gr.File(label="", elem_id="txt_prompt_image", file_count="single", type="file",
visible=False)
img2img_prompt_img = gr.File(label="", elem_id="img2img_prompt_image", file_count="single", type="bytes", visible=False)
with gr.Column(scale=1):
pass
@ -791,9 +789,8 @@ def create_ui(wrap_gradio_gpu_call):
img2img_prompt_img.change(
fn=modules.images.image_data,
# _js = "get_extras_tab_index",
inputs=[
txt_prompt_img
img2img_prompt_img
],
outputs=[
img2img_prompt,