Exemples
PHP Manual

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(10070);
imagefilledrectangle($stamp0,099990x0000FF);
imagefilledrectangle($stamp9,990,600xFFFFFF);
$im imagecreatefromjpeg('photo.jpeg');
imagestring($stamp52020'libGD'0x0000FF);
imagestring($stamp32040'(c) 2007-8'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é (transparence) de 50%
imagecopymerge($im$stampimagesx($im) - $sx $marge_rightimagesy($im) - $sy $marge_bottom00imagesx($stamp), imagesy($stamp), 50);

// Sauvegarde l'image dans un fichier et libère la mémoire
imagepng($im'photo_stamp.png');
imagedestroy($im);

?>

Cet exemple utilise la fonction imagecopymerge() pour fusionner le cachet avec notre image original. En utilisant cette fonction, nous pouvons définir l'opacité de notre cachet - dans notre exemple, nous l'avons défini à 50%. En pratique, il est plus judicieux de rendre notre protection semi-transparente, la rendant plus difficile à enlever mais permettant également aux visionneuses d'images de la lire sans problème.


Exemples
PHP Manual