Skip to content
Extraits de code Groupes Projets
Valider 37509ecc rédigé par cedric@yterium.com's avatar cedric@yterium.com
Parcourir les fichiers

Report de r84853 : image_recadre peut recadrer une image pour respecter une...

Report de r84853 : image_recadre peut recadrer une image pour respecter une proportion. Le premier argument est le ratio largeur:hauteur demandé, le second argument est alors un '+' pour agrandir avec des bandes ou un '-' pour reduire l'image.
Exemple
[(#LOGO_ARTICLE|image_recadre{16:9,'-'})]
Permet d'avoir un logo au format 16:9 en recadrant l'image le moins possible.
Cela permet de conserver l'image la plus grande possible qui respecte une proportion.
parent 81a519bd
Aucune branche associée trouvée
Aucune étiquette associée trouvée
Aucune requête de fusion associée trouvée
......@@ -241,7 +241,24 @@ function image_alpha($im, $alpha = 63)
}
// http://doc.spip.org/@image_recadre
/**
*
* http://doc.spip.org/@image_recadre
*
* @param string $im
* @param string|int $width
* largeur du recadrage
* ou ratio sous la forme "16:9"
* @param string|int $height
* hauteur du recadrage
* ou "+" (agrandir) ou "-" (reduire) si un ratio est fourni pour width
* @param string $position
* center, left, right, top, bottom, ou combinaisons ("top left")
* @param string $background_color
* couleur de fond si on agrandit l'image
* @return string
* balise image recadree
*/
function image_recadre($im,$width,$height,$position='center', $background_color='white')
{
$fonction = array('image_recadre', func_get_args());
......@@ -258,6 +275,23 @@ function image_recadre($im,$width,$height,$position='center', $background_color=
return _image_tag_changer_taille($im,$width,$height);
}
// on recadre pour respecter un ratio ?
// width : "16:9"
// height : "+" pour agrandir l'image et "-" pour la croper
if (strpos($width,":")!==false){
list($wr,$hr) = explode(":",$width);
$hm = $x_i / $wr * $hr;
$ym = $y_i / $hr * $wr;
if ($height=="+"?($y_i<$hm):($y_i>$hm)){
$width = $x_i;
$height = $hm;
}
else {
$width = $ym;
$height = $y_i;
}
}
if ($width==0) $width=$x_i;
if ($height==0) $height=$y_i;
......
<paquet
prefix="images"
categorie="multimedia"
version="1.1.9"
version="1.1.10"
etat="stable"
compatibilite="[3.0.0;3.1.*]"
logo="images/image_filtre-32.png"
......
0% Chargement en cours ou .
You are about to add 0 people to the discussion. Proceed with caution.
Veuillez vous inscrire ou vous pour commenter