Supprimer GIF, multi-shot en format 10x15cm

- Suppression du mode GIF (gif_maker.py, routes, UI)
- Multi-shot (strip/collage) produit maintenant des images 10x15cm
  (1200x1800px @ 300dpi) pret pour impression sublimation
- Recadrage intelligent (crop centre) pour remplir les cellules

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
2026-03-21 22:55:49 +01:00
parent c8e4ec80c1
commit 3b3271a32f
9 changed files with 56 additions and 106 deletions

View File

@@ -17,7 +17,7 @@ from backend.camera import camera
from backend.gallery import lister_photos, compter_photos, supprimer_photo, vider_galerie
from backend.effects import appliquer_filtre, appliquer_overlay, chroma_key, lister_overlays, lister_fonds, FILTRES
from backend.collage import creer_strip, creer_collage
from backend.gif_maker import creer_gif
from backend.printer import lister_imprimantes, imprimer
from backend.mailer import envoyer_photo
from backend.qrcode_gen import generer_qr, qr_galerie
@@ -163,7 +163,7 @@ async def api_fonds():
return lister_fonds()
# --- API Collage / GIF ---
# --- API Collage ---
@app.post("/api/strip")
async def api_strip(donnees: dict):
@@ -188,18 +188,6 @@ async def api_collage(donnees: dict):
return {"nom": chemin.name, "chemin": f"/data/exports/{chemin.name}"}
@app.post("/api/gif")
async def api_gif(donnees: dict):
noms = donnees.get("photos", [])
chemins = [DOSSIER_PHOTOS / n for n in noms]
for c in chemins:
if not c.exists():
return JSONResponse({"erreur": f"Photo introuvable : {c.name}"}, status_code=404)
chemin = creer_gif(chemins)
if chemin is None:
return JSONResponse({"erreur": "Echec creation GIF"}, status_code=500)
return {"nom": chemin.name, "chemin": f"/data/exports/{chemin.name}"}
# --- API Impression ---