Voilà 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 appelée via la page filigrane contenant le code ci-dessus :

Mots-clefs : filigrane, librairie GD, php

