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


Accepter des paiements par Bitcoin sur votre site web

Bitcoin est très tendance en matière de transaction monétaire en ligne. Pour ajouter le paiement Bitcoin sur votre site, il vous faut des plugins.

Tutoriel Wordpress série « Leanéaire » : transformer son blog en boutique en ligne !

Vous vous lancez dans le e-commerce ? Vous avez peur de Prestashop ? Vous avez peu de produits à vendre ? Pourquoi pas compléter son blog avec une boutique ?

Tutoriel Wordpress série « Leanéaire » : sécuriser son Wordpress en 5 étapes !

Le pilier de la réussite c'est la sécurité. Que le site soit sans prétention ou plateforme incontournable dans un domaine précis...

Voir plus d'actualités