Tutoriel PHP : ajouter des filigranes à une image

Tutoriel

Vous vous êtes peut-être rendu compte que beaucoup d'internautes utilisent les images trouvées sur Google Images, sans en informer ni créditer l'auteur.


Le filigrane est une solution efficace pour restreindre ces « copies », obligeant ainsi tout le monde à vous créditer, ou au pire, à utiliser un éditeur d'image pour effacer la filigrane (généralement en coupant l'image).

La librairie GD est un impératif. Vous devez l'activer sur votre serveur web. Si vous ne l'avez pas, contactez votre hébergeur, ou migrez chez un autre hébergeur. Si vous avez un VPS et que vous avez suivi notre tutoriel sur ISPConfig, rassurez-vous, c'est déjà activé.

Ajouter du texte

C'est un exemple assez simple, ajoutons du texte sur l'image. On supposera que votre image est du même répertoire que votre fichier PHP, et se nomme « image.jpg ». Voici alors le bout de code correspondant :

<?php

// Chargement de l'image dans une variable
$img = ImageCreateFromJPEG('image.jpg');

// Couleur du texte au format RGB
$textcolor = imagecolorallocate($img, 224, 34, 34);

// Le texte en question
imagestring($img, 5, 10, 10, 'Lean', $textcolor);

// Un header spécifique
header('Content-type: image/jpeg');

// Maintenant, envoyer les données de l'image
imagejpeg ($img);

// Libérons la mémoire
imagedestroy($img);

?>

Et voilà ! Quand vous allez charger votre fichier PHP, elle renverra une image JPEG avec le filigrane. Vous pouvez donc, maintenant, l'ajouter sur vos pages avec <img src='votre-fichier.php' />.

Filigrane au format PNG

Si vous voulez personnaliser encore plus votre filigrane qu'un simple texte, notez qu'il est tout à fait possible d'utiliser un fichier PNG pour le mettre en filigrane. Voici un autre bout de code :

<?php

// Chargement des image dans des variables
$logo = ImageCreateFromPNG('logo.png');
$img = ImageCreateFromJPEG('image.jpg');

// Superposition des images
imagecopy($img, $logo, 20, 20, 0, 0, imagesx($logo), imagesy($logo)) ;

// Un header spécifique
header('Content-type: image/jpeg');

// Maintenant, envoyer les données de l'image
imagejpeg ($img);

// Libérons la mémoire
imagedestroy($img);

?>

Ou si vous voulez renvoyer au format PNG, remplacez le content-type par image/png et utilisez imagepng($img) au lieu de imagejpeg($img).

Nous voilà au bout de ce petit tutoriel. Cela vous a-t-il plu ? Partagez-le à vos amis!

Actuellement sur Lean.fr


phpinfo : en savoir plus sur votre hébergeur web

Grâce à phpinfo, vous allez pouvoir vérifier en détail les fonctionnalités de votre plan d'hébergement web et en déduire sa compatibilité avec certains codes.

Mettre à jour PHP avec OVH release 3

S'il y a une chose qu'on connaît sur OVH release, c'est que son développement est très lent. Alors, pourquoi attendre si l'on peut nous-mêmes mettre à jour PHP?

Mettre à jour phpMyAdmin manuellement sur un VPS

Vous avez peut-être installé phpMyAdmin sans utiliser les dépôts. Maintenant, il est trop vieux et nécessite un coup de jeune. Voici alors le guide ultime.

Voir plus d'actualités