PHP – GD : Filigrane à la volée sur JPEG

PHPVoilà une petite fonction PHP relativement simple d’utilisation qui permet d’appliquer un filigrane à la volée sur une image de type JPEG.

<?php
header ("Content-type: image/jpeg");
//on teste si une image est passée en paramètre
if(isset($_GET['image'])){
//On applique le FILIGRANE

$size=getimagesize($_GET['image']);
$filigrane="(c) rrr.favrat.net";
$font="fonts/applegaramond-bold.ttf"; // Police utilisée pour écrire le filigrane

$t=20; // Taille de la police
$image=imagecreatefromjpeg($_GET['image']);
$couleur_text = imagecolorallocatealpha($image, 255, 255, 255, 75);

$h=0;
$l=0;
$i=0;
//Cette double boucle permet de répeter le filigrane en croisé sur toute l'image (suivant sa taille)
while($h<$size[1]){
while($l<$size[0]){

imagettftext($image, $t, 0, $l, $h+$t, $couleur_text, $font, $filigrane);
$l=$l+400;

}
$i++;
if($i % 2){$l=200;}else{$l=0;}

$h=$h+100;
}

imagejpeg($image); // l'image s'affiche

//On supprime l'image pour libérer la mémoire
imagedestroy($image);

}
?>

Utilisation :
Il vous faudra avoir les polices TTF que vous souhaitez utiliser pour écrire sur l’image dans un répertoire fonts.
Dans cet exemple j’utilise “applegaramond-bold.ttf”

$font="fonts/applegaramond-bold.ttf";

Ensuite pour afficher l’image flilgranée à la volée il suffit d’insérer le code :

<img src="filigrane.php?image=chiby.jpg" alt="" />

DEMO :

Image originale :
image originale
Image appelée via la page filigrane contenant le code ci-dessus :
image générée avec l'appel de filigrane.php?image=chiby.jpg

Sinon il y a aussi...