29 lines
917 B
Python
29 lines
917 B
Python
from io import BytesIO
|
|
from PIL import Image
|
|
import base64
|
|
|
|
def base64_to_image(base64_data):
|
|
"""Convertit une image base64 en objet Image pour l'affichage direct"""
|
|
try:
|
|
if not base64_data:
|
|
return None
|
|
image_bytes = base64.b64decode(base64_data)
|
|
image = Image.open(BytesIO(image_bytes))
|
|
return image
|
|
except Exception as e:
|
|
print(f"Erreur lors de la conversion d'image: {e}")
|
|
return None
|
|
|
|
def display_images(current_images):
|
|
"""Prépare les images pour l'affichage dans la galerie Gradio"""
|
|
if not current_images:
|
|
return None
|
|
|
|
gallery = []
|
|
for img_data in current_images:
|
|
image = img_data["image"]
|
|
if image:
|
|
caption = f"{img_data['caption']} (Source: {img_data['source']}, Page: {img_data['page']})"
|
|
gallery.append((image, caption))
|
|
|
|
return gallery if gallery else None |