GD redimensionner une image jpg

Eléphant du PHP | 86 Messages

04 déc. 2007, 11:40

Je débute avec GD,

Je voudrais savoir quelle fonction est la plus efficace pour redimensionner une image jpg.

ViPHP
ViPHP | 2287 Messages

04 déc. 2007, 12:53

if(!@work()){ Nespresso(); } else { what(); }
______________________________

Eléphant du PHP | 86 Messages

04 déc. 2007, 13:20

ok merci

ce script marche bien:
Par contre comment dois je faire pour copier la photo générée dans un répertoire ?

    // This sets it to a .jpg, but you can change this to png or gif
     header('Content-type: image/jpeg');

 //-----------------
 //Start Thumbnail script
 						   //marc.jpg  étant la photo origine

 							$image =  imagecreatefromjpeg('marc.jpg');
                            //This will set our output to 50% of the original size
                            $size = 0.50;
                            // Setting the resize parameters
							list($width, $height) = getimagesize('marc.jpg');  // retourne un array --> list // presentation
                            $modwidth = $width * $size;  //largeur finale
                            $modheight = $height * $size;  // hauteur finale

                            // Resizing the Image
                            $tn = imagecreatetruecolor($modwidth, $modheight);
                            imagecopyresampled($tn, $image, 0, 0, 0, 0, $modwidth, $modheight, $width, $height);
//------------------
     imagejpeg($tn, null, 70);   //notice we set the quality (third value)
     imageDestroy($tn);


Eléphant du PHP | 73 Messages

04 déc. 2007, 14:00

Tu utilises tout simplement la fonction de création de fichier de imagejpeg().

C'est le 2° paramètre, qui est à null dans ton code pour pouvoir le sortir au format Web, qu'il faut modifier.
Image Un bon maître a ce souci constant : enseigner à se passer de lui.

Eléphant du PHP | 86 Messages

07 déc. 2007, 12:24

imagejpeg($tn, null, 70); --> image envoyée vers le navigateur.

Je n'arrive pas à enregistrer l'imagee généré sur l'ordinateur,

Pour enregistrer l'image, je fais comme me l'a conseillé Sedril:
 imagejpeg($tn, 'monfichier.jpg', 70); 

Avatar du membre
Modérateur PHPfrance
Modérateur PHPfrance | 10684 Messages

07 déc. 2007, 12:49

Et ?

Tu as un message d'erreur ? le fichier est créé mais pas au bon endroit ? qu'est ce qui t'arrive ?
En principe l'instruction que tu nous indique doit créer dans le dossier ou s'exécute le script, un fichier nommé "monfichier.jpg" contenant la ressource $tn.

A noter que si tu stockes le fichier sur le serveur et que tu ne l'envoi pas vers le navigateur, la ligne header('Content-type: image/jpeg') n'a rien à faire là :)
Ce n'est pas en améliorant la bougie que l'on a inventé l'ampoule...

Eléphant du PHP | 86 Messages

07 déc. 2007, 13:47

En fait ça fonctionne, mais il cela prend du temps, j'ai du mal à comprendre car lorsqu'on envoie
l'image vers le navigateur c'est instantanné.

Bon en fait ça marche bien, j'avais fait une petite erreur de syntaxe.

Eléphant du PHP | 86 Messages

09 déc. 2007, 09:31

En fait ça fonctionne, mais il cela prend du temps, j'ai du mal à comprendre car lorsqu'on envoie
l'image vers le navigateur c'est instantanné.

Bon en fait ça marche bien, j'avais fait une petite erreur de syntaxe.