Voila j'ai une fonction de redimensionnement d'image qui fonctionne a peut pret bien je lui donne le nom du fichier , l'emplacement et la taille a redimensionner elle verifie si c'est une image jpeg , gif ou png.
L'image est bien redimensionné mais le soucis viens des png et gif le fond transparent est noir alors que je souhaiterais qu'il soit transparent.
voila la fonction:
// fonction redimensionnement images
function redimensionnement_image($content_dir,$tmp_file,$name_file,$taillemax) {
if($name_file!="" and $name_file!="thb_")
{
$name_file = strtr($name_file,"%âäàéèêëîïôöùûü,","-aaaeeeeiioouuu-");
$name_file = strtr($name_file," ","-");
$name_file = strtr($name_file,"'","-");
$test2img=explode("thb_",$name_file);
if($test2img[1]==''){
$nomimg2="";
move_uploaded_file($tmp_file, $content_dir . $name_file);
}
else {
$name_file=$test2img[1];$nomimg2="thb_";
}
$source=$content_dir.$name_file;
//verification pour savoir si il sagit bien d'une image
$ext = explode(".", $name_file);
$ext = $ext[1];
if($ext=="JPG" or $ext=="jpg"){ $source = imagecreatefromjpeg($source);}
elseif ($ext=="gif" or $ext=="GIF"){$source = imagecreatefromgif($source);}
elseif ($ext=="png" or $ext=="PNG"){$source = imagecreatefrompng($source);}
else { echo "<SCRIPT language=\"Javascript\">alert(\"Vous devez inserer une image au format JPEG GIF ou PNG.\");window.location.replace(document.referrer)</SCRIPT>";
exit;}
$largeur_source = imagesx($source);
$hauteur_source = imagesy($source);
if($largeur_source> $hauteur_source )
{
$largeur=$taillemax;
$hauteur=$hauteur_source*(($taillemax)/$largeur_source);
}
if($largeur_source== $hauteur_source )
{
$largeur=$taillemax;
$hauteur=$taillemax;
}
if($largeur_source < $hauteur_source )
{
$hauteur=$taillemax;
$largeur=$largeur_source*(($taillemax)/$hauteur_source);
}
$destination = imagecreatetruecolor($largeur, $hauteur);
// On crée l'image a la bonne taille
imagecopyresampled($destination, $source, 0, 0, 0, 0, $largeur, $hauteur, $largeur_source, $hauteur_source);
//on enregistre l image
if ($ext=="gif" or $ext=="GIF"){imagegif($destination, $content_dir.$nomimg2.$name_file,100);}
elseif ($ext=="png" or $ext=="PNG"){imagepng($destination, $content_dir.$nomimg2.$name_file,9);}
else{imagejpeg($destination, $content_dir.$nomimg2.$name_file,100);}
}
return $name_file;
}
Merci de votre aide@++