Introduction
Vous ne vous êtes jamais demandé comment facebook arrive à recadrer et redimensionner votre photo de profil à la volée? ou comment les CAPTCHA sont créés? ou encore, comment les graphiques sont générés dynamiquement sur une page Web?
En fait, les images sont omniprésentes sur les pages Web. Elles constituent même une partie intégrante du contenu hypertexte. Cependant, les photos présentes sur les sites et applications Web ne sont pas toujours manipulées manuellement par des logiciels de traitement d'images avant de les mettre en ligne. D'ailleurs, c'est inconcevable de travailler manuellement chaque image avant de la mettre sur le site surtout si celui-ci en contient beaucoup.
En PHP, il existe une bibliothèque qui se charge de manipuler dynamiquement les images. Il s'agit de la
librairie GD.
Librairie GD (GDlib)
La
librairie GD (ou bibliothèque GD) est une extension open source du langage PHP. Tout comme
PDO vu dans le cours de
POO en PHP, elle doit être renseignée au serveur afin que l'ensemble des fonctions qu'elle renferme puissent être compilées à coté des fonctions natives de PHP.
La librairie GD est prise en charge à partir de la version 4.3 de PHP et elle permet de réussir des exploits remarquables au niveau de la manipulation d'images.
En gros, on peut diviser les fonctions GD en deux familles:
- Fonctions de création d'images: ce sont des fonctions qui permettent de construire des images brique par brique en offrant la possibilité de dessiner des objets basiques comme les lignes, rectangles, cercles, arcs... ou écrire du texte au sein d'une image.
- Fonctions de modification d'images: ces fonctions permettent de manipuler des images déjà disponibles (uploadées sur le serveur par exemple). Elle permettent ainsi des opérations comme le redimensionnement, recadrage, estampillage, rotation, transparence, correction gamma...
Voici des extraits de résultats obtenus par la librairie GD:
Exemple de graphique tracé à l'aide de la librairie GD
Exemple de CAPTCHA généré à l'aide de la librairie GD
Exemple d'image redimensionnée et estampillée d'un logo à l'aide de la librairie GD
Prérequis
GD est une extension du langage PHP. Il faut donc être à l'aise avec la syntaxe de celui-ci. Cependant, vous n'êtes pas obligé de connaitre le concept de la POO en PHP pour pourvoir suivre ce cours. Le fait d'appeler les fonctions de la librairie GD via des classes reste un choix.
Si vous n'avez pas des connaissances au langage PHP mieux vaut commencer par suivre le cours
PHP (PHP Hypertext Preprocessor).
Le support officiel de la librairie GD est disponible sur ce site:
https://libgd.github.io/.