Wasserzeichen – die Lösung

Posted by Dirk on 15.04.2014

So, jetzt ab ich‘ geschafft. Internet sei Dank!

Die Lösung generiert mit htaccess und php ab Bildbreiten von 100 px on the fly für jpegs ein neues Bild mit eingebundenem skalierten Wasserzeichen (ein konfigurierbarer Text mit Schatten).

Bin ich froh, dass ich das mit nur wenig Programmierkenntnissen geschafft habe.

Kleine Anleitung

1. PHP und Schriftart

http://phaethon.net/photobkk/index.php/watermarking/

Hier die watermark.php nehmen, mit einer Schriftart, z.B. zenda verwenden (beides ins root der Homepage). Achtung, ohne eine ttf-Schriftart geht es nicht!

2. PHP testen

Die php ohne htaccess-Umleitung erst einmal testen mit bekanntem Bild (vorher den Pfad mit Bild testen!) mit direktem Aufruf wie etwa

http://www.brundelius.de/watermark.php?src=wp-content/uploads/Dirk_Lenzburg.jpg

wenn das funktioniert, dann

3. Einstellungen anpassen

die Einstellungen in der php nach persönlichem Geschmack anpassen (Schriftgröße, Farbe, Skalierung, Position, Schatten …)

4. automatische Einbindung für alle jpeg

Die Umleitung von jpeg-Grafikaufrufen einrichten über die .htaccess

http://dolcepixel.com/how-to-watermark-all-your-uploaded-images/

Konkret geht das für die WordPress-Verzeichnisstruktur so::

<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
RewriteRule ^(.*)wp-content/uploads/(.*\.jpe?g) $1watermark.php?src=wp-content/uploads/$2
</IfModule>

5. Testen

Ausgiebig testen, ob alle Grafiken schön mit Wasserzeichen versehen werden und ob alle anderen Dateiaufrufe (MP3s, Videos, Sonstiges) immer noch funktionieren.

Für andere Grafikdateien wie GIF oder PNG sollte kein Wasserzeichen gesetzt werden. Das ist gut z.B. für den QR-Code auf der Kontaktseite (da wäre ein Wasserzeichen nicht förderlich).

Evtl . könnte man mit etwas mehr KnowHow über die .htaccess alle Grafiken so bearbeiten und spezifischere Ausnahmen eintragen, wo kein Wasserzeichen gesetzt werden soll. Aber so reicht es erst einmal.