Manipulation d'images en PHP - Librairie GD

Auteur: Mohamed CHINY Durée necessaire pour le cours de Manipulation d'images en PHP - Librairie GD Niveau recommandé pour le cours de Manipulation d'images en PHP - Librairie GD Supports vidéo non disponibles pour ce cours Exercices de renforcement disponibles pour ce cours Quiz non disponibles pour ce cours

Page 1: Librairie GD c'est quoi?

Toutes les pages

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:

Traçage de graphique à l'aide de la librairie GD - Chiny
Exemple de graphique tracé à l'aide de la librairie GD


CAPTCHA généré à l'aide de GDLib - Chiny
Exemple de CAPTCHA généré à l'aide de la librairie GD


Estampillage d'une image d'un logo à l'aide de GDLib - Chiny
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/.