Comment écrire sur une image en PHP ?

Réponses rédigées par Antoine
Dernière mise à jour : 2019-12-23 18:30:13
Thèmes : webmaster - image - php
Question

Comment puis-je écrire sur une image en PHP, avec la librairie GD2 ?

Réponse

Pour écrire sur une image, en PHP, vous pouvez utiliser la libraire GD.

Pour écrire sur une image avec PHP et GD, vous devez :

  • Spécifier la police de caractère à utiliser.
  • Définir le texte qui sera écrit sur l'image.
  • Créer un conteneur avec la fonction imagecreatetruecolor.
  • définir l'image à importer dans le conteneur avec la fonction imagecreatefromjpeg.
  • Spécifier la couleur du texte avec la fonction imagecolorallocatealpha.
  • Importer l'image dans le conteneur avec la fonction imagecopy.
  • Ecrire sur l'image avec la fonction imagettftext.
  • Définir le type de header avec la fonction PHP header.
  • Générer l'image finale avec la fonction imagejpeg ou imagepng.
  • Libérer la mémoire et détruire l'image avec la fonction imagedestroy.

Voici un exemple de code PHP pour écrire un texte en blanc sur une image JPEG dont les dimensions sont 600 par 600 pixels :

<?php
error_reporting(E_ALL);
ini_set("display_errors", 1);

$font = "Roboto-Regular.ttf";
$texte = "le texte à écrire sur l'image";
$conteneur = imagecreatetruecolor(600,600);
$image = imagecreatefromjpeg('test.jpg');
$blanc = imagecolorallocatealpha($conteneur, 255, 255, 255,0);
imagecopy($conteneur,$image,0,0,0,0,600,600);
imagettftext($conteneur, 14, 0, 200, 300, $blanc, $font, $texte);
header("Content-type: image/jpeg");
imagejpeg($conteneur);
imagedestroy($conteneur);
?>

Télécharger le fichier ZIP de l'exemple.

Vous trouverez le détail et les options des différentes fonctions PHP et GD qui permettent de manipuler les images, et d'écrire sur une image, via cette page du manuel de PHP.