ACIDRE point COM

Jean-Luc NGUYEN, Développeur eZ Publish, PHP et MySQL, wordpress, SPIP et plus si affinités

PHP : Redimensionner des images à la volée

Il y a différentes façons de penser le redimensionnement d’images en PHP. Avec ma petite expérience, la meilleure est celle qui redimensionne à l’affichage, c’est-à-dire à la volée, et non plus lors de l’upload de l’image par exemple.

J’utilise une librairie PHP qui se nomme phpThumb. Ce qui est génial, c’est que cette librairie gère tout : redimensionnement « intelligent », images mises en cache, optimisation de la taille, gestion des différentes extensions d’images (jpg, png, gif…).

D’après Wikipédia, phpThumb est une bibliothèque logicielle pour PHP, publiée sous licence publique générale GNU permettant la génération dynamique de vignettes à partir de plus grandes images, dans le double but d’optimiser la taille de l’image envoyée au navigateur web, et donc la bande passante équivalente d’une part, et de fournir des rendus plus lisses que ceux issus du redimensionnement effectué par les navigateurs standards.

Ca permet surtout de ne plus écrire des fonctions comme :
$image = imagecreatefromjpeg($path . $file);
list($width, $height) = getimagesize($path . $file);

Ce ne sont que des exemples. Ce qu’on appelle un redimensionnement « intelligent », c’est une redimensionnement si la largeur et la hauteur sont plus grands que la taille de redimensionnement, etc…

Une démo est disponible ici, avec tous les paramètres possibles.
L’exemple le plus simple est le suivant :
<img src="/phpThumb/phpThumb.php?src=/pictures/toto.jpg&w=400&h=300" alt="Toto" />

Où pictures est le répertoire qui contient toto.jpg. Plus de prise de tête pour gérer le cas où l’image est en format « portrait ».
Pourquoi réinventer la roue alors que les pneus larges existent déjà ?


Tags : , , , , + Catégories : PHP

1 commentaire

  1. Oui le redimensionnement d’images à l’affichage est souvent la meilleure solution. phpThum est à mon avis la meilleure solution pour cela. Un peu plus d’info sous: http://sebastien.pichonnat.ch/multimedia/redimentionner-image-phpthumb ;-)

Laisser un commentaire