Exemple avec imagecopymerge() pour créer un tatouage numérique translucide

Exemple #1 Exemple avec imagecopymerge() pour créer un tatouage numérique translucide

<?php
// Charge le cachet et la photo afin d'y appliquer le tatouage numérique
$im = imagecreatefromjpeg('photo.jpeg');

// Tout d'abord, nous créons un cachet manuellement grâce à GD
$stamp = imagecreatetruecolor(100, 70);
imagefilledrectangle($stamp, 0, 0, 99, 69, 0x0000FF);
imagefilledrectangle($stamp, 9, 9, 90, 60, 0xFFFFFF);
imagestring($stamp, 5, 20, 20, 'libGD', 0x0000FF);
imagestring($stamp, 3, 20, 40, '(c) 2007-9', 0x0000FF);

// Définit les marges du cachet et récupère la largeur et la hauteur du cachet
$marge_right = 10;
$marge_bottom = 10;
$sx = imagesx($stamp);
$sy = imagesy($stamp);

// Fusionne le cachet dans notre photo avec une opacité de 50%
imagecopymerge($im, $stamp, imagesx($im) - $sx - $marge_right, imagesy($im) - $sy - $marge_bottom, 0, 0, imagesx($stamp), imagesy($stamp), 50);

// Sauvegarde l'image dans un fichier
imagepng($im, 'photo_stamp.png');

?>
Utilisation d'imagecopymerge() pour créer un tatouage translucide
Cet exemple utilise imagecopymerge() pour fusionner le cachet avec l'image originale. Avec cette fonction, il est possible de définir l'opacité du cachet : dans cet exemple, elle est fixée à 50%. En pratique, cela est utile pour la protection des droits d'auteur, car les tatouages semi-transparents sont difficiles à retirer tout en permettant aux personnes qui regardent l'image de la voir.