1

Récupérer la largeur d’une image, mais pas moins d’une certaine valeur

27 février 2006
par ARNO*

[SPIP 1.8] On souhaite récupérer la largeur d’une image et l’attribuer à un <div>...</div> (qui, lui, pourrait contenir un texte descriptif). L’interface s’adapte ainsi à l’image.

Cela peut se coder ainsi, avec le filtre largeur :

Plus fréquemment, on veut récupérer la valeur de l’image, une fois celle-ci réduite (avec reduire_image. Le traitement de la partie #LOGO_ARTICLE du code devient :

Voici désormais la petite subtilité de cet article : il est possible que l’image réduite, si elle est très verticale (largeur très faible par rapport à la hauteur), ait une largeur insuffisante pour qu’on puisse réellement écrire dans le <div>...</div>. Nous voulons donc la situation suivante :
— si la largeur de l’image est supérieure à 60 pixels, alors on utilise bien cette largeur ;
— si la largeur de l’image est inférieure à 60 pixels, alors on fixe la largeur du bloc à 60 pixels.
Autrement dit : dans tous les cas, la valeur minimale sera 60 pixels.

Ce qui donne :

Si la largeur de l’image réduite est par exemple 75, alors la fonction PHP max{75,60} retournera bien 75. Si la largeur est 45, alors la fonction max{45,60} retournera 60.

Qui êtes-vous ?
Votre message

Ce formulaire accepte les raccourcis SPIP [->url] {{gras}} {italique} <quote> <code> et le code HTML <q> <del> <ins>. Pour créer des paragraphes, laissez simplement des lignes vides.