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);
 }
}
?>

Tipps

10 Regeln zu Dateinamen
Die Entscheidung, wie Sie die Dateien und Verzeichnisse (Ordner) auf Ihrer Website benennen ist nicht ganz Ihnen überlassen. Es gibt einiges, worauf Sie bei dieser Wahl achten müssen.
Bilder in den Browser laden per File API
Wenn Bilder hoch geladen werden sollen, ist es für dem Benutzer wissenswert welche Bilder er überhaupt ausgewählt hat. Diese JavaScript-Funktion zeigt Bilder vor dem hochladen im Browser an.
Diashow
Die Diashow liest Bilder aus einem Verzeichnis aus (mit PHP), und zeigt diese mit Hilfe von JavaScript an.