Spaces:
Running
Running
import gradio as gr | |
from PIL import Image | |
import os | |
import tempfile | |
def convert_image_format(image, target_format): | |
# Crear un directorio temporal para guardar la imagen | |
with tempfile.TemporaryDirectory() as tmpdirname: | |
# Crear una ruta para el archivo de salida en el directorio temporal | |
output_name = os.path.join(tmpdirname, f"output_image.{target_format.lower()}") | |
# Abrir la imagen con PIL | |
img = Image.open(image.name) | |
# Guardar la imagen en el formato deseado | |
img.save(output_name, format=target_format.upper()) | |
# Devolver la ruta del archivo convertido | |
return output_name | |
# Interfaz de Gradio | |
with gr.Blocks() as demo: | |
gr.Markdown("### Conversor de formatos de imagen") | |
image_input = gr.File(label="Sube tu imagen", file_types=['image']) | |
format_dropdown = gr.Dropdown(label="Selecciona el formato de salida", choices=["jpg", "png", "webp"], value="webp") | |
convert_button = gr.Button("Convertir") | |
output_gallery = gr.Gallery(label="Imagen convertida") | |
convert_button.click(fn=convert_image_format, inputs=[image_input, format_dropdown], outputs=output_gallery) | |
demo.launch() | |