From e83d5c8d58a2de5335cbe321d7b9ced00186a3a9 Mon Sep 17 00:00:00 2001 From: Jules Date: Tue, 23 Jun 2026 09:14:36 +0200 Subject: [PATCH] Fix impression paysage : inverser largeur/hauteur quand orientation=paysage MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Les dimensions FORMATS sont en portrait — sans inversion, une photo paysage était crop en portrait pour l'impression. Co-Authored-By: Claude Opus 4.6 --- backend/printer.py | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/backend/printer.py b/backend/printer.py index 27b8a27..6aabe27 100644 --- a/backend/printer.py +++ b/backend/printer.py @@ -50,6 +50,8 @@ def preparer_apercu(chemin: Path, largeur: int, hauteur: int, from PIL import Image, ImageOps img = Image.open(chemin).convert("RGB") img = ImageOps.exif_transpose(img) + if orientation == "paysage" and hauteur > largeur: + largeur, hauteur = hauteur, largeur if orientation == "portrait" and img.width > img.height: img = img.rotate(90, expand=True) img = _crop_to(img, largeur, hauteur) @@ -221,6 +223,9 @@ def imprimer( cadre = cadre_override if cadre_override is not None else conf_imp.get("cadres_actifs", {}).get(fmt_base) orientation = conf_imp.get("orientations", {}).get(fmt_base, "portrait") + if orientation == "paysage" and hauteur > largeur: + largeur, hauteur = hauteur, largeur + event_id = config.get("evenement", {}).get("event_id") if event_id and cadre_override is None: from backend.evenements import cadre_actif_pour_impression