Bilder mit Wasserzeichen markieren

JPEG-Bilder (oder andere Grafikformate) können mit einem transparenten Wasserzeichen markiert werden; Mit Hilfe eines kleinen PHP-Scripts.

Transparenten Text hinzufügen

Ohne Wasserzeichen Wasserzeichen Mit Wasserzeichen
(c) bla bla
<img src="bild.jpg">
Text
<img src="wasserzeichen.php?
bild=
bild.jpg">

Quelltext  Kopieren ❘ Ausblenden ❘ Zeilen

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
<?php
// Bild mit Wasserzeichen markieren (JPEG-Bilder)
// Transparenten Text hinzufügen

if (isset($_GET["bild"])) {
 if (
file_exists($_GET["bild"])) {
  
$bild = $_GET["bild"];

  
$text = "(c) bla bla";
  
$farbe = "#00FF7F"; // Bsp: #00FF7F
  
$size = 5; // Schriftgröße 1 - 5
  
$transparenz = 25; // Tranzparenz: 0 - 100 (0 = keine Transp.)

  
$bildInfo = getImageSize($bild);
  
$bildKopie = imageCreateFromJPEG($bild);
  
sscanf($farbe, "#%2x%2x%2x", $r, $g, $b);
  
$color = imageColorAllocateAlpha($bildKopie, $r, $g, $b, $transparenz);
  
imageString($bildKopie, $size, 5, ($bildInfo[1] - 18), $text, $color);

  
// Header möglichst an das Ende des Scripts setzen!
  
header("Content-type: image/jpeg");
  
imageJPEG($bildKopie);
  
imageDestroy($bildKopie);
 }
}
?>

Transparentes Bild hinzufügen

Ohne Wasserzeichen Wasserzeichen Mit Wasserzeichen
<img src="bild.jpg">
logo.png
<img src="wasserzeichen.php?
bild=
bild.jpg">

Quelltext  Kopieren ❘ Ausblenden ❘ Zeilen

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
<?php
// Bild mit Wasserzeichen markieren (JPEG-Bilder)
// Transparentes Bild (Logo) hinzufügen

if (isset($_GET["bild"])) {
 if (
file_exists($_GET["bild"])) {
  
$bild = $_GET["bild"];

  
$logo = "logo.png";
  
$transparenz = 65; // Tranzparenz: 0 - 100 (0 = keine Transp.)

  
$wasserzeichen = imageCreateFromPNG($logo);
  
$wz_breite = imageSx($wasserzeichen);
  
$wz_hoehe = imageSy($wasserzeichen);
  
$bildKopie = imageCreateTruecolor($wz_breite, $wz_hoehe);
  
$bildKopie = imageCreateFromJPEG($bild);
  
$bildKopie_size = getImageSize($bild);
  
$x = $bildKopie_size[0] - $wz_breite - 10;
  
$y = $bildKopie_size[1] - $wz_hoehe - 2;
  
imageCopyMerge($bildKopie, $wasserzeichen, $x, $y, 0, 0, $wz_breite, $wz_hoehe, $transparenz);

  
header("Content-type: image/jpeg");
  
imageJPEG($bildKopie);
  
imageDestroy($bildKopie);
 }
}
?>

Transparenten Text und eine andere Schriftart

Ohne Wasserzeichen Wasserzeichen Mit Wasserzeichen
Mein Logo
<img src="bild.jpg">
Text
<img src="wasserzeichen.php?
bild=
bild.jpg">

Quelltext  Kopieren ❘ Ausblenden ❘ Zeilen

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
<?php
// Bild mit Wasserzeichen markieren (JPEG-Bilder)
// Transparenten Text und Schriftart hinzufügen

if (isset($_GET["bild"])) {
 if (
file_exists($_GET["bild"])) {
  
$bild = $_GET["bild"];

  
$text = "Mein Logo";
  
$farbe = "#FFFFFF"; // Bsp: #FFFFFF
  
$size = 17; // Schriftgröße
  
$transparenz = 35; // Tranzparenz: 0 - 100 (0 = keine Transp.)
  
$schriftart = "FIFTYHV.TTF"; // Pfad zur Schriftart (Dateityp: .ttf (TrueType-Font))

  
$bildInfo = getImageSize($bild);
  
$bildKopie = imageCreateFromJPEG($bild);
  
sscanf($farbe, "#%2x%2x%2x", $r, $g, $b);
  
$color = imageColorAllocateAlpha($bildKopie, $r, $g, $b, $transparenz);
  
imageTTFtext($bildKopie, $size, 0, 15, ($bildInfo[1] - 10), $color, $schriftart, $text);

  
header("Content-type: image/jpeg");
  
imageJPEG($bildKopie);
  
imageDestroy($bildKopie);
 }
}
?>

Tipps

Mit dem PHPMailer E-Mails sicher versenden
Damit E-Mails sicher beim Empfänger ankommen und nicht irgendwo anders landen (Spamordner) oder sogar vom Provider abgelehnt werden nutzt man am besten eine fertige Mailer-Klasse wie den „PHPMailer”.
Mit PHP schreiben und lesen
Hier möchte ich an Beispielen zeigen, wie eine .txt-Datei mit PHP erstellt wird und wie diese ausgelesen werden kann.
Mit PHP zeichnen - Eine Grafik mit PHP erstellen
Mit den Grafikfunktionen können Sie zur Laufzeit des PHP-Scripts auch Grafiken erzeugen.
Diese Schlagwörter könnten Sie interessieren:
Counter Berechnungen Mimetypen localStorage Veranstaltungsliste Zeitansage Quelltext Dateibrowser Audio-Player RSS Feed Linkliste MySQL Favicon Seitenformatierung Event-Kalender Kommentar-Box SQLite PHP-Fehlermeldungen Silbentrennung Hover-Effekt