Redimensionner une image en php

Contenu du snippet

Il est souvent nécessaire, si ce n'est indispensable de créer des miniatures quand on fait un site,
Que ce soit pour des questions de rapidité d'affichage mais aussi pour limiter la bande passante.

Source / Exemple :


/**

  • Update 01/03/2010 :: DigitalDax ::
  • $$ Ajout de la taille en paramètre
  • $$ Ajout de commentaires
*
  • Info : Cette fonction requiert la librairie gd2 de php
  • Pour l'install, il sufit d'ouvrir le fichier php.ini
  • et d'enlever le " ; " devant la ligne extension=php_gd2.dll
  • /
function createMiniImage($source, $destination, $maxSize) { if ( is_file ($source) ) { // On récupère la taille d'origine de l'image source $pictureSize = GetImageSize($source) ; // Sauvegarde des tailles originales, // $pictureSize_w et $pictureSize_h vont servir au calcul de la bouvelle taille, // c est sur ces variable que l'on fera l'otération de réduction $pictureSize_w = $pictureSize[0] ; $pictureSize_h = $pictureSize[1] ; // On sauvegarde tout de même la taille d'origine, cela va nous être // utile lors de l'appel à la fonction imagecopyresampled $orig_pictureSize_w = $pictureSize[0] ; $orig_pictureSize_h = $pictureSize[1] ; // On boucle tant que l'on est pas arrivé à une taille minimum // passé en paramètre, pour être certain de ne pas aller trop loin dans // le redimentionnement un ratio de 0.9 est raisonable. while ( $pictureSize_w > $maxSize || $pictureSize_h > $maxSize ) { $pictureSize_w = $pictureSize_w * 0.9 ; $pictureSize_h = $pictureSize_h * 0.9 ; } // On créé l'image source en mémoire $sourceImg = imagecreatefromjpeg($source); // et l'image de destination avec les tailles de la miniature $destImg = imagecreatetruecolor($pictureSize_w, $pictureSize_h); // On appel la fonction qui va permettrre de redimentionner notre image imagecopyresampled( $destImg, $sourceImg, 0,0,0,0, $pictureSize_w, $pictureSize_h, $orig_pictureSize_w, $orig_pictureSize_h ); // et on la sauve à un endroit donné en paramètre imagejpeg ($destImg, $destination); } }

Conclusion :


Plus d'info ou de question(s) sur http://gratuit.over-blog.com/article-geek-php-redimensionner-une-image-en-php-45633030.html

A voir également

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.