Fork me on GitHub

Rapport de message :*
 

Re: GD et my album

Titre du sujet : Re: GD et my album
par denisdlu sur 17/03/2006 07:38:14

Salut ,

Voici un petit exemple que j'ai fait pour toi :)
Bien sur ,tu peux l'adapter pour tes besoins .
Le but etant que tu vois ce qu'il faut utiliser comme instructions.
Dans l'exemple on prend une image d'origine ( quelle que soit sa taille) et on tente de faire une image de 640 x 480 en faisant un recalcul d'echelle pour la mettre dans la plus grande largeur (640 ) ou la plus grande hauteur (480) .
Tu peux jouer sur la qualite pour diminuer la taille du fichier final .Pour certaines petites miniature je prends des fois 20 ( ca suffit) .


$imgGenW 640 ;
$imgGenH 480 ;
// on prepare une image en memoire de la taille voulue
$mem_imgGen imagecreatetruecolor(  $imgGenW    ,  $imgGenH  );
// Nom de l'image d'origine
$imgori 'imgori.jpg' ;
// on recup les dimensions de l'image d'origine
list($imgori_width$imgori_height) = getimagesize($imgori);
// creation du zone memoire a partir de l'image d'origine
$mem_imgori imagecreatefromjpeg($imgori);
// petit calcul pour garder les proportions par exemple
    
$newwidth 0;
    
$newheight 0;
    
$ratio =  $imgori_height $imgori_width;
    if (
$imgori_width $imgori_height)
    {    
        
$newwidth $imgGenW;
        
$newheight $newwidth $ratio;
    }
    else
    {
        
$newheight $imgGenH;
        
$newwidth $newheight $ratio;
    }
// on copie l'image d'origine dans la zone de la nouvelle image 
imagecopyresampled($mem_imgGen$mem_imgori00$newwidth$newheight $imgori_width $imgori_height);    
// liberation de la memoire de l'image d'origine
imagedestroy($mem_imgori);
// cela permettra un affichage qui semble plus rapide a l'affichage 
// pas obligatoire mais peut etre utile pour les grosses images
imageinterlace $mem_imgGen  ,  1  );
// on defini la qualité de la transformation jpg
$QualiteJpg 75 // Qualité de l'image  75 est une qualité pas mauvaise .. 100 = meilleur qualité ... 1 = tres mauvaise qualité
// On sauve l'image memoire dans le fichier
imagejpeg($mem_imgGen'newimage.jpg'$QualiteJpg);
// on libere la memoire 
imagedestroy($mem_imgGen);
//
echo "<img src='imgori.jpg' >";
echo 
"<img src='newimage.jpg' >";

Propulsé avec XOOPS | Graphisme adapté par Tatane, Grosdunord, Montuy337513

49 Personne(s) en ligne (30 Personne(s) connectée(s) sur Forum) | Utilisateur(s): 0 | Invité(s): 49 | Plus ...