a
     
 
       
   Developpeur web    
       
   Php Mysql et divers    
       
   Shitao    
   Sénèque    
   Recettes    
       


> Resizer une image pour créer une vignette

Dans la série des codes que l'on recherche toujours sans les avoir sous la main, voici comment redimensionner une image pour obtenir une vignette. Merci la doc php.net au passage, très pratique dans ce cas pour fixer des dimensions maximales à le vignette. On note que l'on peut sortir en changean la dernière ligne des images jp, gif, png ou autre. Egalement que l'on utilise imagecopyresampled pour éviter d'avoir une vignette assombrie, et imagecreatetruecolor pour avoir les bonnes couleurs car lors du ré-échantillement, les couleurs les plus proches en théorie ne le sont pas visuellement parlant.


$filename = 'tonchemin/tonfichiersource.jpg';

// largeur et hauteur maximale de la vignette par rapport à son affichage dans un div ou un td par exemple
$width = 250;
$height = 250;

// les dimensions de l'image source
list($width_orig, $height_orig) = getimagesize($filename);

// la proportion de l'image source
$ratio_orig = $width_orig/$height_orig;

if ($width/$height > $ratio_orig) {
$width = $height*$ratio_orig;
} else {
$height = $width/$ratio_orig;
}

// on fait une image vide
$image_p = imagecreatetruecolor($width, $height);
// on définit l'image source
$image = imagecreatefromjpeg($filename);
// on resize l'image vide en ré-échantillonant les couleurs depuis l'image source
imagecopyresampled($image_p, $image, 0, 0, 0, 0, $width, $height, $width_orig, $height_orig);

// Création du fichier de la vignette sur le serveur (100 est le tx de compression jpg, on peut donc le descendre)
// pour des gif ou png il faut changer cette fonction (voir doc php)
imagejpeg($image_p, "/tonchemin/tonfichier-v.jpg", 100);




retour

  Tags : vignettes

Cylman
  Tags : vignettes




RSS    |    Mes liens    |    Syndication    |    Plan    |    Sitemap XML    |    Création de site web à Carcassonne