Enregistrer une image après redimensionnement.

Eléphanteau du PHP | 17 Messages

09 juin 2006, 23:50

Code : Tout sélectionner

Header("Content-type: image/jpeg"); $image = "test.jpg"; $src_im = ImageCreateFromJpeg($image); $size = GetImageSize($image); $src_w = $size[0]; $src_h = $size[1]; //taille de votre image $dst_w = 150; // Contraint le rééchantillonage à une largeur fixe // Maintient le ratio de l'image $dst_h = round(($dst_w / $src_w) * $src_h); $dst_im = ImageCreateTrueColor($dst_w,$dst_h); /* ImageCopyResampled copie et rééchantillonne l'image originale*/ ImageCopyResampled($dst_im,$src_im,0,0,0,0,$dst_w,$dst_h,$src_w,$src_h); /* ImageJpeg génère l'image dans la sortie standard (c.à.d le navigateur). Le second paramètre est optionnel ; dans ce cas, l'image est générée dans un fichier*/ ImageJpeg($dst_im); ImageDestroy($dst_im); imageDestroy($src_im);
Voilà un script qui permet de redimensionner une image. Cependant, ce sont les 3 dernière lignes qui m'intéressent, mais je ne comprend pas les explications qui les précèdent !

En effet, je souhaiterais enregistrer l'image générée, qui apparait à l'écran dans un dossier "images". Comment dois-je m'y prendre ? Que dois-je ajouter à ce code ?!

Merci d'avance, une fois encore :)

Eléphant du PHP | 451 Messages

10 juin 2006, 11:37

Ben la doc confirme le commentaire :
bool imagejpeg( resource image [, string filename [, int quality]] )

Le deuxième paramètre s'il existe permet d'indiquer le fichier où l'image doit être écrite.
Je crois que c'est ce que tu veux faire.
Tu as essayé :
ImageJpeg($dst_im); // affichage ecran
ImageJpeg($dst_im, "mon_chemin/monfichier.jpg"); // enregistrement fichier
?
Jpaul
J'essaye d'aider : parfois je fais des erreurs, on me les corrige et j'apprends un peu plus. Super ce forum :)