Spaces:
Running
Running
File size: 1,096 Bytes
18d93f0 5afa10e 18d93f0 5afa10e b4e8db6 5afa10e 18d93f0 5afa10e 18d93f0 5afa10e |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 |
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() |