提交 0aec19d7 编写于 作者: A AUTOMATIC

make pasting into img2img prompt work

make image params request not use temp files
上级 33ae6be5
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()
return data, None
def image_data(data):
try:
image = Image.open(io.BytesIO(data))
textinfo = image.text["parameters"]
return textinfo, None
except Exception:
pass
try:
text = data.decode('utf8')
assert len(text) < 10000
return text, None
except Exception:
pass
return '', None
......@@ -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,
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册