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:
@@ -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
|
||||||
|
|||||||
Reference in New Issue
Block a user