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

Seiten dynamisch mit PHP erstellen
Vielleicht kennen Sie dieses Problem: Sie möchten gerne eine Seite ohne Frames erstellen, wollen aber auch nicht bei jeder Änderung an der Navigation alle Seiten ändern. Nur mit HTML gibt es hier keine Lösung und nicht jeder Benutzer hat JavaScript im Browser aktiviert, stattdessen sollten Sie auf PHP zurückgreifen.
Daten auf mehreren Seiten aufteilen / Kombinierte Formular.- und Blätterfunktion
Damit nicht alle Daten einer DB-Tabelle auf einmal auf der Seite zu sehen sind, sondern übersichtlich auf mehreren Seiten verteilt stehen, benutzt man eine Seitennavigation zum blättern (Pagination).
Formulardaten über AJAX überprüfen und speichern
Ohne lästigen Seitenwechsel werden die eingegebenen Daten im Formular überprüft und gespeichert.
Diese Schlagwörter könnten Sie interessieren:
Sortierung Zoom-Funktion Mehrfachauswahl Diashow Formulare Rahmen Lokaler Webserver Dynamische Seiten Favicon Suchmaschine RSS Feed Canvas Operatoren Berechnungen Veranstaltungsliste MySQL Quelltext Linkliste PHPMailer Wecker