1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42
| function thumbnail($file, $maxWidth, $maxHeight)
{
//Créer une image à partir de $file
$img = imagecreatefromjpeg($file);
//Dimensions de l'image
$imgWidth = imagesx($img);
$imgHeight = imagesy($img);
//Facteur largeur/hauteur des dimensions max
$whFact = $maxWidth/$maxHeight;
//Facteur largeur/hauteur de l'original
$imgWhFact = $imgWidth/$imgHeight;
//fixe les dimensions du thumb
if($whFact < $imgWhFact)
{
//Si largeur déterminante
$thumbWidth = $maxWidth;
$thumbHeight = $thumbWidth/$imgWhFact;
}
else
{
//Si hauteur déterminante
$thumbHeight = $maxHeight;
$thumbWidth = $thumbHeight*$imgWhFact;
}
//Crée le thumb (image réduite)
$imgThumb = imagecreatetruecolor($thumbWidth, $thumbHeight);
//Insère l'image de base redimensionnée
imagecopyresized($imgThumb, $img, 0, 0, 0, 0, $thumbWidth, $thumbHeight, $imgWidth, $imgHeight);
//Crée le fichier thumb
imagejpeg($imgThumb, "thumb_".$file);
//Renvoie le thumb créé
return $imgThumbName;
}
thumbnail($file, $maxWidth, $maxHeight) |
Partager