Taille d’image erronné des logos si un redimensionnement de l’image
Pour le contexte, le problème est signalé là https://github.com/marcimat/bigup/issues/9 mais ne provient pas de Bigup.
Pour reproduire :
- définir dans mes_options.php les constantes :
define('_IMG_MAX_WIDTH', 3000);
define('_IMG_MAX_HEIGHT', 1000);
- ajouter un plus grand logo (en SPIP 3.3+) sur un élément, par exemple un article
- l’aperçu au retour retourne une image erronée, avec les dimensions de l’images d’origine (alors que l’image a réellement été redimensionnée sur le disque)
- au rechargement la taille est affichée correctement, mais la miniature est toujours incorrecte
Suppositions
Il semblerait que les filtres largeur()
et hauteur()
utilisés par image_reduire, et par l’affichage du logo aient un cache qui enregistre la taille de l’image originale la première fois qu’ils sont appelés, mais si cette image est modifiée (réduite) ensuite, un appel ultérieur à ces fonctions retourne la valeur en cache.
La réduction se fait dans verifier_taille_document_acceptable()
de action/ajouter_documents.php du plugin medias, qui prend en comptel les constantes _IMG_MAX_WIDTH
et _IMG_MAX_HEIGHT
indiquées.