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


Tutoriel : 100/100 sur Google PageSpeed avec un site WordPress

Avez-vous déjà rêvé d’avoir la note maximale sur PageSpeed ? Suivez le guide ultime pour accélérer vos pages et obtenir des scores SEO plus attractifs.

Tutoriel WordPress : Afficher des widgets selon la page

Il est peut-être nécessaire dans votre projet d'afficher ou non des widgets sur WordPress en fonction de la page que l'utilisateur visite. Suivez le guide !

Quel système d'exploitation pour ma clé USB bootable ?

Bien souvent, on est confrontés à des changements de PC, des transferts de fichiers et pourtant une solution existe... La clé USB bootable.

Voir plus d'actualités