PRATIQUE PHP 
Créer des JPEG miniatures avec la bibliothèque GD
 
Une fonction visant à faciliter le redimensionnement d'une image. (21/07/2004)
  Forum

Réagissez dans les forums de JDN Développeurs

Pour les serveurs disposant de PHP compilé avec la bibliothèque GD, il est possible de manipuler les images, notamment de créer des miniatures directement sur le serveur.

Voici donc une fonction qui se charge de simplifier la tâche à l'utilisateur : plutôt que faire appel à chaque fonctionnalité de GD, on les encapsule ici en demandant le minimum d'information : chemin d'origine, chemin d'arrivée, nom du fichier et largeur finale.
Ici, l'image "P1010002.JPG", placée dans le dossier "/img", donnera une miniature de 100 pixels de largeur, placée dans le dossier "/img/mini".

Le code est prévu pour une image JPEG, mais les fonctions de GD sont si explicites qu'il ne devrait pas être très difficile d'adapter le script à d'autres formats...

Le code
<?php

function miniature($chemin_original, $chemin_mini, $fichier_image, $largeur_mini)
  {
  $image_origine = imagecreatefromjpeg("$chemin_original/$fichier_image");
  $largeur_origine = imagesx($image_origine);
  $hauteur_origine = imagesy($image_origine);
  $hauteur_mini = $hauteur_origine * $largeur_mini /   $largeur_origine;
  $image_finale = imagecreate($largeur_mini, $hauteur_mini);
  imagecopyresized($image_finale, $image_origine, 0, 0, 0, 0,   $largeur_mini, $hauteur_mini, imagesx($image_origine), imagesy($image_origine) );

  imagejpeg($image_finale, "$chemin_mini/$fichier_image");
  imagedestroy($image_finale);
  return true;
  }

miniature("img", "img/mini", "P1010002.JPG", "100")
?>

 
Xavier Borderie, JDN Développeurs
 
 
Accueil | Haut de page