Les bonnes libraries pour manipuler les images en PHP
Vous souhaitez mettre votre solution en avant en haut de cet article ? Contactez-nous
Besoin de manipuler des images en PHP ? Bonne nouvelle ! Le BlogDuWebdesign vous propose une liste de ressources vous permettant de remplir cette tache de manière efficace sans se prendre la tete avec la syntaxe de GD et Imagemagick !
Image
Image est une toute jeune bibliothèque de manipulation d'images pleine de points positifs.
En plus d'une vitesse de travail plus que raisonnable et une charge serveur tout à fait acceptable, son gros point fort est sa syntaxe très clair et agréable à manipuler, comme vous pouvez le voir dans l'exemple suivant.
Image::load('example.jpg')
->sepia()
->blur(50)
->save();
Imageflow
Imageflow est un projet assez particulier dans le sens ou il a été Kickstarte il y a quelques mois (à hauteur de 62 000 dollars, tout de même !).
Loin d'être une library permettant de se connecter a GD ou Imagemagick, son objectif est des fournir une library de manipulation d'image adressant la plupart des reproches que l'on fait à Imagemagick. Ce projet couvre donc bien plus de langage que simplement PHP.
Le projet n'est pas vraiment en version finale, et il faut être prudent avant de l'utiliser en production, mais il reste néanmoins particulièrement intéressant sur de très nombreux points (api accessible a travers http et ffi, centré sur un usage "web" et mettant la sécurité en avant, …)
Intervention Image
Intervention image est LA library de cette liste que je vous recommande pour l'instant. Bien que moins intéressante que les deux précédentes en matière de specs et api, elle a l'avantage d'être sur le marché depuis quelques années déjà, est mien soutenue, bien teste, bref on peut lui faire confiance.
Sans etre aussi agreable que celle d'image, sa syntaxe est loin d'être insoutenable et reste agréable a utiliser, comme vous pouvez le voir sur l'exemple suivant, et cette ressource possède l'avantage d'avoir une documentation très compréhensible.
// open an image file $img = Image::make('public/foo.jpg'); // resize image instance $img->resize(320, 240); // insert a watermark $img->insert('public/watermark.png'); // save image in desired format $img->save('public/bar.jpg');
Zebra image
Zebra est sans aucun doute la library la moins puissante de cette liste, mais elle possède une particularité très intéressante : elle n'est constituée en tout et pour tout d'un seul petit fichier PHP.
Cette library est donc intéressante pour réduire aux maximums ses dépendances ou dans un but pédagogique, permettant de fournir un code d'exemple pour travailler avec GD.