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">

QuelltextKopierenAusblendenZeilen

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$size5, ($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">

QuelltextKopierenAusblendenZeilen

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$y00$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">

QuelltextKopierenAusblendenZeilen

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$size015, ($bildInfo[1] - 10), $color$schriftart$text);

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

Siehe auch: Hinzufügen von Wasserzeichen beim hochladen eines Bildes

Tipps

Mit JSON Daten zwischen JavaScript und PHP austauschen
JSON, ist ein kompaktes Datenformat in einer einfach lesbaren Textform zum Zweck des Datenaustauschs zwischen Anwendungen.
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.