X2Painting / app.py
Li
init test
743cef3
raw
history blame
3.15 kB
import gradio as gr
import numpy as np
from interface_modules.X2Painting.template_config import style_example
from interface_modules.X2Painting.client_process import send_to_server
def on_select(evt: gr.SelectData):
index = evt.index
style_name = list(style_example.values())[index]
return gr.update(value=style_name)
css = """
.gradio-container {background-color: #F0F5FF; width: 95% !important}
"""
title = r"""
</br>
<h1 align="center" style="font-size: 42px;">Character2Painting</h1>
<h2 align="center"> <span style="color: red;">Character</span> <--- <span style="color: black;">Zoom out⭐️⭐⭐⭐⭐Zoom in ---> </span> <span style="color: red;">Painting</span></h2>
</br>
</br>
<img src="file/docs/resource/X2Painting/pics/xword_intro.png" style="display: block; margin: 0 auto; max-height: 384px;">
</br>
<h2 style="text-align: center;">===================🤪🥳 Have a Try 🤩😄===================</h2>
"""
with gr.Blocks(css=css) as demo:
# description
gr.HTML(title)
with gr.Row():
with gr.Column():
# with gr.Row(scale=1):
# with gr.Column():
gr.Markdown('''
⭐️<b> User Tips </b>
- <b>step1:</b>Input a Character. Recommended Chinese Character.
- <b>step2:</b>Select a style in the Gallery
- <b>step3:</b>Click Run,Waiting for about 1 Min. Enjoy
''')
word = gr.Textbox(
label="Input Character",
info="please type Character, such as 李. (输入中文字,例如,李)",
value="李",
elem_id="InputCha"
)
submit = gr.ClearButton(value="Run",elem_id="RunBtn")
style_name = gr.Textbox(
label="style_name",
info="style_name",
value="", visible=False,
)
with gr.Column(scale=6):
gr.Markdown('''
<h1 align="center">Style Gallery</h1>
''')
example_gallery = gr.Gallery(label="style_type", show_label=True, elem_id="example_gallery",
value=list(style_example.keys()), columns=10
)
# vis result gallery
gr.Markdown('''
<h1 align="center">Result Gallery</h1>
''')
final_gallery = gr.Gallery(
label="最终生成图(paintings),第一行:refine后生成结果,第二行:初始生成结果,第三行:refine前的文字增强处理图",
show_label=False,
elem_classes="final_gallery",
).style(columns=[4], rows=[2])
# server_port = gr.Number(value=args.server_port, visible=False)
submit.add([final_gallery])
submit.click(send_to_server,
inputs=[word, style_name],
outputs=[final_gallery])
example_gallery.select(on_select, None,
[style_name])
demo.queue()
demo.launch(share=True, server_name="0.0.0.0", server_port=12404)
# demo.launch(share=True)