CakeFest 2024: The Official CakePHP Conference

Erstellen eines transparenten Wasserzeichens mit imagecopymerge()

Beispiel #1 Erstellen eines transparenten Wasserzeichens mit imagecopymerge()

<?php
// Foto laden
$im = imagecreatefromjpeg('photo.jpeg');

// wir erstellen ein Wasserzeichen mit 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);

// Ränder setzen, Dimensionen ermitteln
$marge_right = 10;
$marge_bottom = 10;
$sx = imagesx($stamp);
$sy = imagesy($stamp);

// Wasserzeichen mit einer Transparenz von 50% über das Foto legen
imagecopymerge($im, $stamp, imagesx($im) - $sx - $marge_right, imagesy($im) - $sy - $marge_bottom, 0, 0, imagesx($stamp), imagesy($stamp), 50);

// Bild speichern, aufräumen
imagepng($im, 'photo_stamp.png');
imagedestroy($im);

?>
Erstellen eines transparenten Wasserzeichens mit imagecopymerge()
Dieses Beispiel nutzt imagecopymerge() um das Wasserzeichen über das Original-Bild zu legen. Dabei können wir die Transparenz des Wasserzeichens frei bestimmen - im Beispiel werden 50% gesetzt. In der Praxis wäre dies ein sinnvolles Vorgehen zum Urheberschutz, da halbtransparente Wasserzeichen schwierig zu entfernen sind, dem Betrachter aber trotzdem erlauben das Bild zu sehen.

add a note

User Contributed Notes

There are no user contributed notes for this page.
To Top