Comment écrire sur une image en PHP ?
Réponses rédigées par Antoine
Dernière mise à jour : 2019-12-23 18:30:13
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
ouimagepng
. - 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.