Fix impression paysage : inverser largeur/hauteur quand orientation=paysage

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 <noreply@anthropic.com>
This commit is contained in:
2026-06-23 09:14:36 +02:00
parent e6e7c5a9f2
commit e83d5c8d58

View File

@@ -50,6 +50,8 @@ def preparer_apercu(chemin: Path, largeur: int, hauteur: int,
from PIL import Image, ImageOps from PIL import Image, ImageOps
img = Image.open(chemin).convert("RGB") img = Image.open(chemin).convert("RGB")
img = ImageOps.exif_transpose(img) img = ImageOps.exif_transpose(img)
if orientation == "paysage" and hauteur > largeur:
largeur, hauteur = hauteur, largeur
if orientation == "portrait" and img.width > img.height: if orientation == "portrait" and img.width > img.height:
img = img.rotate(90, expand=True) img = img.rotate(90, expand=True)
img = _crop_to(img, largeur, hauteur) 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) 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") 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") event_id = config.get("evenement", {}).get("event_id")
if event_id and cadre_override is None: if event_id and cadre_override is None:
from backend.evenements import cadre_actif_pour_impression from backend.evenements import cadre_actif_pour_impression