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
|
function thumbail($path, $filename, $maxWidth, $maxHeight){//Créer une image à partir de $file
$file = $path.$filename;
$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);
imageantialias( $imgThumb, True );
//Insère l'image de base redimensionnée
ImageCopyResized($imgThumb, $img, 0, 0, 0, 0, $thumbWidth, $thumbHeight, $imgWidth, $imgHeight);
imageantialias( $imgThumb, True );
//Nom du fichier thumb
$imgThumbName = $path."thumb_".$filename;
//Crée le fichier thumb
$fp = fopen($imgThumbName, "w");
fclose($fp);
//Renvoie le thumb créé
ImageJpeg($imgThumb, $imgThumbName,100);
return $imgThumbName;
} |
Partager