FORUM Tom's Hardware » Programmation » PHP & MySQL & ASP » Librairie GD : redimension image
 

Librairie GD : redimension image

Il y a 345 utilisateurs connus et inconnus. Pour voir la liste des connectés connus, cliquez ici
Ajouter une réponse



 Mot :   Pseudo :  
 
Bas de page
Auteur
 Sujet : Librairie GD : redimension image
 
Plus d'informations

Hello,

Je fais appel à vous parce que je seche.

J'ai fait une fonction en Gd pour redimensionner une image :

Code :
  1. function RedimensionImg($img)
  2.     {
  3.    
  4.         $largeurDestination = 200;
  5.         $hauteurDestination = 150;
  6.         $im = ImageCreateTrueColor ($largeurDestination, $hauteurDestination) 
  7.                 or die ("Erreur lors de la création de l'image" ); 
  8.         $source = ImageCreateFromJpeg($img);
  9.        
  10.         $largeurSource = imagesx($source);
  11.         $hauteurSource = imagesy($source);
  12.         $blanc = ImageColorAllocate ($im, 255, 255, 255);
  13.         $gris[0] = ImageColorAllocate ($im, 90, 90, 90); 
  14.         $gris[1] = ImageColorAllocate ($im, 110, 110, 110);       
  15.         $gris[2] = ImageColorAllocate ($im, 130, 130, 130); 
  16.         $gris[3] = ImageColorAllocate ($im, 150, 150, 150); 
  17.         $gris[4] = ImageColorAllocate ($im, 170, 170, 170); 
  18.         $gris[5] = ImageColorAllocate ($im, 190, 190, 190); 
  19.         $gris[6] = ImageColorAllocate ($im, 210, 210, 210); 
  20.         $gris[7] = ImageColorAllocate ($im, 230, 230, 230); 
  21.         for ($i=0; $i<=7; $i++) {
  22.             ImageFilledRectangle ($im, $i, $i, $largeurDestination-$i, $hauteurDestination-$i, $gris[$i]);   
  23.         }
  24.         ImageCopyResampled($im, $source, 8, 8, 0, 0, $largeurDestination-(2*8), $hauteurDestination-(2*8), $largeurSource, $hauteurSource);
  25.    
  26.         ImageString($im, 0, 12, $hauteurDestination-18, "$img - ($largeurSource x $hauteurSource)", $blanc);
  27.         return ImageJpeg ($im);
  28.     }



Je l'ai testé seule dans un fichier : elle marche impec.
Par contre, j'ai voulu l'intégrer dans le reste d'un site.
Elle me renvoit des hiéroglyphes de ce genre (à la place d'afficher l'image) :

Code :
  1. ÿØÿàJFIFÿþ>CREATOR: gd-jpeg v1.0 (using IJG JPEG v62), default quality ÿÛC    $.' ",#(7),01444'9=82<.342ÿÛC  2!!22222222222222222222222222222222222222222222222222ÿÀ–



Je ne sais pas pourquoi, il me fait ce comportement :/

Plus d'informations

Pour simplifier la chose (sans le cadre gris).

Ca fait la même chose avec ce code :

Code :
  1. $largeurDestination = 200;
  2.         $hauteurDestination = 150;
  3.         $im = ImageCreateTrueColor ($largeurDestination, $hauteurDestination) 
  4.               or die ("Erreur lors de la création de l'image" ); 
  5.         $source = ImageCreateFromJpeg($img);
  6.        
  7.         $largeurSource = imagesx($source);
  8.         $hauteurSource = imagesy($source);
  9.         ImageCopyResampled($im, $source, 8, 8, 0, 0, $largeurDestination-(2*8), $hauteurDestination-(2*8), $largeurSource, $hauteurSource);
  10.    
  11.         ImageString($im, 0, 12, $hauteurDestination-18, "$img - ($largeurSource x $hauteurSource)", $blanc);
  12.         return ImageJpeg ($im);

Plus d'informations

sisier a écrit :

Pour simplifier la chose (sans le cadre gris).

Ca fait la même chose avec ce code :

Code :
  1. $largeurDestination = 200;
  2.         $hauteurDestination = 150;
  3.         $im = ImageCreateTrueColor ($largeurDestination, $hauteurDestination) 
  4.               or die ("Erreur lors de la création de l'image" ); 
  5.         $source = ImageCreateFromJpeg($img);
  6.        
  7.         $largeurSource = imagesx($source);
  8.         $hauteurSource = imagesy($source);
  9.         ImageCopyResampled($im, $source, 8, 8, 0, 0, $largeurDestination-(2*8), $hauteurDestination-(2*8), $largeurSource, $hauteurSource);
  10.    
  11.         ImageString($im, 0, 12, $hauteurDestination-18, "$img - ($largeurSource x $hauteurSource)", $blanc);
  12.         return ImageJpeg ($im);




j'ai trouvé une nouvelle doc.
C'est à cause du header, il faut mettre en place une page scpécifique pour la génération de l'image.
et appeler cette page avec <img src="mapage.php">

voila

zeb
Profil : Modérateur libre
Plus d'informations

merci pour la soluce :jap:


---------------
Règlement du forum / Règlement de Programmation / Règlement du Monde de Linux euh, n'y en a pas...

Aller à :
Ajouter une réponse
  FORUM Tom's Hardware » Programmation » PHP & MySQL & ASP » Librairie GD : redimension image
 

Annonces Google
Publicité