Anomalie #1626
closedCartes d'adhérents - Chevauchement numéro et date
100%
Description
Voici un essai de carte : le numéro d'adhésion chevauche l'année.
Files
Updated by Alain Paris over 2 years ago
Bonjour,
Actuellement l'affichage de l'année dépend de la hauteur du logo,essayez avec un logo de 150 pixels par exemple....
Updated by Peire BRECHET over 2 years ago
Merci de votre réponse rapide, j'ai essayé avec 150, 100 et pas d'image du tout et aucune modification...
La question devient faut il redémarrer Galette ?
(J'ai naturellement vidé le cache du navigateur) et je teste en local.
Merci
Updated by Peire BRECHET over 2 years ago
Autant pour moi, j'ai travaillé sur le logo général. Et oui celui de la carte en est un autre...
Updated by Peire BRECHET over 2 years ago
Et bien, pas mieux… je n'arrive même plus à supprimer lo logo
Updated by Alain Paris over 2 years ago
Oui il s'agit du logo réservé aux cartes.
Configuration/préférences/cartes
Il suffit choisir un autre fichier avec une hauteur de 150 (chez moi 200x150 cela fonctionne ). enregistrer
Revenir sur la page cartes et vérifier que le logo est affiché et cela devrait être bon.Si pas affiché ,il se peut qu'il y ait eu un problème a l'enregistrement de la modification.
Peut être quelque chose dans les logs.
Updated by Guillaume AGNIERAY over 1 year ago
- Assignee set to Guillaume AGNIERAY
Alain Paris a écrit (#note-5):
Il suffit choisir un autre fichier avec une hauteur de 150 (chez moi 200x150 cela fonctionne ).
Après avoir jeté un œil au code, tout dépend du ratio de l'image, et normalement une largeur et une hauteur max sont imposées.
Les images en portrait sont redimensionnées en se référant à leur hauteur.
Les images en paysage, en se référant à leur largeur.
Il y a bien des erreurs dans le code. Les dimensions de l'image sont comparées aux limites imposées, mais sur de mauvaises valeurs et avec des unités différentes (pixels pour l'image, contre millimètres pour les valeurs utilisées dans le PDF).
Et le cas des images carrées (ou proche d'un ratio 1 en paysage) n'est pas vraiment traité ce qui entraîne leur agrandissement au delà de ce qui est prévu comme c'est le cas de Peire.
source:/galette/lib/Galette/IO/PdfMembersCards.php#L165
La hauteur indiquée n'est plus celle utilisée après dans le code :
// Set logo size to max width 30 mm or max height 25 mm
getHeight()
et getWidth()
renvoient une valeur en pixels et sont comparées à une mauvaise valeur en millimètres :
$ratio = $print_logo->getWidth() / $print_logo->getHeight();
if ($ratio < 1) {
if ($print_logo->getHeight() > 16) {
$this->hlogo = 20;
} else {
$this->hlogo = $print_logo->getHeight();
}
$this->wlogo = round($this->hlogo * $ratio);
Ensuite les images carrées sont redimensionnées comme des images paysage en fonction de leur largeur et dépassent alors la hauteur max imposée pour le PDF :
} else {
if ($print_logo->getWidth() > 16) {
$this->wlogo = 30;
} else {
$this->wlogo = $print_logo->getWidth();
}
$this->hlogo = round($this->wlogo / $ratio);
}
Updated by Guillaume AGNIERAY over 1 year ago
- File exemple_hauteur_max.png exemple_hauteur_max.png added
- File exemple_hauteur_max-2.png exemple_hauteur_max-2.png added
- File exemple_hauteur_max-3.png exemple_hauteur_max-3.png added
- File exemple_largeur_max-1.png exemple_largeur_max-1.png added
- File exemple_largeur_max-2.png exemple_largeur_max-2.png added
- File exemple_inférieur_hauteur_max.png exemple_inférieur_hauteur_max.png added
- File exemple_inférieur_largeur_max.png exemple_inférieur_largeur_max.png added
- File exemple_id_adhérent.png exemple_id_adhérent.png added
- File exemple_numéro_adhérent.png exemple_numéro_adhérent.png added
- File exemple_sans_numéro.png exemple_sans_numéro.png added
- Target version set to 1.0.0
Les modifs proposées corrigent ce que je pense être le comportement normal souhaité pour l'affichage du logo :
https://github.com/galette/galette/pull/215/files
Si les dimensions du fichier original sont inférieures à 113x64px (30x17mm), ce sont elles qui seront utilisées.
Je joins plusieurs captures des résultats obtenus :)
Au passage j'introduis de nouvelles conditions pour l'affichage du numéro/id adhérent :- si l'option "Afficher les identifiants" est cochée dans les paramètres, c'est cet identifiant qui est utilisé (comportement actuel par défaut).
- si le champ "Numéro adhérent" est utilisé ET renseigné, c'est ce numéro qui est utilisé.
- si ce même champ est utilisé ET renseigné ET que l'option "Afficher les identifiants" est cochée, c'est le numéro qui est privilégié.
- si ni l'option, ni le champ ne sont utilisés, rien n'est affiché.
Updated by Guillaume AGNIERAY over 1 year ago
- Status changed from Nouveau to Résolu
- % Done changed from 0 to 100
Appliqué par commit a1bde60ef66441b2cca0c857ab8e20a7accaf01d.