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 43 44 45 46 47 48 49 50 51 52 53 54
| function redim_avatar($im_src, $im_dest)
{
global $const; // Variable de type tableau associatif qui contient les paramètres de configuration
$ResErreur = false;
$size = getimagesize($im_src); // Recuperation de la taille de l'image source
$src_w = $size[0]; // Largeur de l'image source
$src_h = $size[1]; // Hauteur de l'image source
$ext = strrchr($im_src, '.'); // Extention du fichier
if($src_w > $const['WMaxAvatare'] || $src_h > $const['HMaxAvatare']){
$coef_w = (($const['WMaxAvatare'] * 100) / $src_w) / 100; // Calcul du coeficient de reduction de la largeur et de la hauteur pour une largeur maximal
$coef_h = (($const['HMaxAvatare'] * 100) / $src_h) / 100; // Calcul du coeficient de reduction de la largeur et de la hauteur pour une hauteur maximal
if ($coef_w < $coef_h) { // Détermine quel coefficiant doit etre utilisé
$coef = coef_w;
}else{
$coef = $coef_h;
}
$dst_w = floor($src_w*$coef); // Largeur de l'image de destination
$dst_h = floor($src_h*$coef); // Hauteur de l'image de destination
}
$dst_im = imagecreatetruecolor($dst_w,$dst_h); // Retourne une image noire
if($ext == '.jpg' || $ext == '.jpeg')
$src_im = imagecreatefromjpeg($im_src); // Retourne un identifiant d'image représentant une image obtenue à partir de l'image source JPG
elseif ($ext == '.gif')
$src_im = imagecreatefromgif($im_src); // Retourne un identifiant d'image représentant une image obtenue à partir de l'image source GIF
elseif ($ext == '.png')
$src_im = imagecreatefrompng($im_src); // Retourne un identifiant d'image représentant une image obtenue à partir de l'image source PNG
imagecopyresampled($dst_im,$src_im,0,0,0,0,$dst_w,$dst_h,$src_w,$src_h); // Copie, Redimentionne et rééchantillonne l'image source vers l'image destination
imagegif($dst_im, $im_dest) // Crée une nouvelle image GIF
if($ext == '.jpg' || $ext == '.jpeg'){
$new_im_dest = str_replace('.jpg','.gif',$im_dest); // Renomme l'extention en .GIF
rename($im_dest, $new_im_dest);
}elseif ($ext == '.png'){
$new_im_dest = str_replace('.png','.gif',$im_dest); // Renomme l'extention en .GIF
rename($im_dest, $new_im_dest);
}elseif ($ext == '.gif'){
$new_im_dest = $im_dest;
}
imagedestroy($dst_im); // Libère toute la mémoire associée à l'image image
imagedestroy($src_im); // libère toute la mémoire associée à l'image image
return $new_im_dest; // Retourne le nouvau lien et le nouveau nom du fichier
} |
Partager