Il est possible, grace aux fonctions de traitement d'image
de PHP, de modifier toutes les images d'un même dossier.
On pourrait, par exemple, vouloir ajouter une signature
en ajoutant du texte sur toutes les photos.
Reprenons encore l'exemple du début. Nous avons un
tableau "$files" qui contient toutes les
photos (ou plutôt leur nom) du dossier "/images"
et nous récupérons la taille de
chaque photo dans "$hauteur" et "$largeur".
Chaque photo est ensuite traité individuellement
dans une boucle "foreach" afin de créer une miniature.
Dans la même boucle il suffit de faire :
<?php
//créer une image en mémoire depuis le fichier.
$imagebig = imagecreatefromjpeg ("images/".$image);
//allouer la couleur blanche dans la variable "$blanc".
$blanc = imagecolorallocate($imagebig, 255,255,255);
//le texte à afficher.
$txt="votre_texte";
//écrire le texte sur la photos aux coordonnées choisies.
imagestring ($imagebig, 3, 15, ($hauteur-15), $txt, $blanc);
//recopie l'image mémoire dans le fichier sur le disque.
imagejpeg ($imagebig , "images/".$file ,80);
//suppression des "images mémoires"
imagedestroy ($imagebig);
?>
Deux nouvelles fonctions sont abordées ici :
imagecolorallocate() qui permet d'allouer une couleur. imagestring() qui écrit une chaîne (suite de caractères)
dans une image.
Les arguments de la fonction imagestring() sont :
imagestring(nom_de_l'image,Police,x,y,Texte,Couleur)
x et y représentent les coordonées (en pixels) du texte sur
l'image, le coin supérieur gauche étant l'origine (0,0).
Une question ? Donnez votre avis, ou trouver encore plus d'infos : Le Forum