dot2dot / app.py
keinne's picture
Upload 3 files
d24e6ff verified
raw
history blame
1.48 kB
import gradio as gr
from livro import processar_e_mostrar, verificar_contraste, gerar_preview_kdp
with gr.Blocks() as demo:
with gr.Row():
imagem_input = gr.Image(label="Imagem Original", type="filepath")
mascara = gr.ImageEditor(label="Marcar áreas para preservar (opcional)")
with gr.Row():
idade = gr.Slider(minimum=4, maximum=12, step=1, value=6, label="Idade da criança (ajusta número de pontos)")
contraste_alerta = gr.Textbox(label="Aviso de Contraste", interactive=False)
with gr.Row():
imagem_resultado = gr.Image(label="Prévia com Pontos Numerados")
with gr.Row():
gerar_btn = gr.Button("Gerar Pontos")
salvar_btn = gr.Button("Salvar como PDF")
capa_btn = gr.Button("Gerar Preview da Capa")
saida_pdf = gr.File(label="Download do PDF")
saida_capa = gr.Image(label="Preview da Capa")
resultado = {}
def gerar(imagem_path, mask, idade):
global resultado
aviso = verificar_contraste(imagem_path)
resultado = processar_e_mostrar(imagem_path, mask, idade)
return aviso, resultado["preview"]
def salvar_pdf():
return resultado.get("pdf")
def gerar_capa():
return gerar_preview_kdp()
gerar_btn.click(gerar, inputs=[imagem_input, mascara, idade], outputs=[contraste_alerta, imagem_resultado])
salvar_btn.click(salvar_pdf, outputs=saida_pdf)
capa_btn.click(gerar_capa, outputs=saida_capa)
demo.launch()