Compressor / app.py
rbughao's picture
Update app.py
b4e8db6 verified
import gradio as gr
from PIL import Image
import io
import os
def compress_images(*image_paths):
compressed_files = []
for image_path in image_paths:
if image_path is not None:
img = Image.open(image_path)
compressed_io = io.BytesIO()
img.save(compressed_io, format='JPEG', quality=80)
compressed_io.seek(0)
compressed_filename = f"compressed_{os.path.basename(image_path)}"
with open(compressed_filename, "wb") as f:
f.write(compressed_io.read())
compressed_files.append(compressed_filename)
else:
compressed_files.append(None)
return compressed_files
image_inputs = [gr.Image(type="filepath", label=f"Upload Image {i+1}") for i in range(5)]
interface = gr.Interface(
fn=compress_images,
inputs=image_inputs,
outputs=[gr.File(label=f"Download Compressed Image {i+1}") for i in range(5)],
title="Multi-Image Compressor",
description="Upload up to 5 images to compress them and download the compressed versions."
)
interface.launch()