Wasserzeichen
Es gab immer mal wieder ein paar Fragen zu Wasserzeichen.
Möchte ich nur ein Bild mit einem Wasserzeichen wie z.B. "Copyright by Cero" versehen, eignet sich Gimp sehr gut. Ich schreibe diesen Text einfach mit dem entsprechenden Werkzeug ins Bild.
Was mache ich aber, wenn ich z.B ein ganzes Verzeichnis von Bilder mit einem Wasserzeichen versehen will?
Hier hilft uns ImageMagick weiter.
Ich wechsel auf der Konsole in das Verzeichnis mit den Bildern und
gebe z.B. folgendes ein:
ls -1 *.jpg | while read file; do convert -font /usr/X11R6/lib/X11/fonts/truetype/SUSESansMono-Bold.ttf -pointsize 30 -fill white -draw "text 1024,1500 'Copyright by Cero'" "$file" "`basename Wasserzeichen_"$file"`"; done
Jetzt wird der Text "Copyright by Cero" in jedes Bild im Verzeichnis geschrieben.
Die Bilder mit Wasserzeichen erkennt man an dem vorgestelltem Wasserzeichen_.
Beispiel: Wasserzeichen_Katze.jpg
Erklärung:
Das ist die gewählte Schriftart mit ihrer vollen Pfadangabe:
-font /usr/X11R6/lib/X11/fonts/truetype/SUSESansMono-Bold.ttf
Welche Schriftarten bei euch installiert sind erfahrt ihr mit:
locate *.ttf | less
Damit wird eine Schriftgröße von 30 in der Farbe Weiß definiert.
-pointsize 30 -fill white
Hiermit wird der Text definiert ("Copyright by Cero"):
-draw "text 1024,1500 'Copyright by Cero'"
Er wird an die Position 1024 Pixel nach rechts und 1500 Pixel nach unten geschrieben. Wenn das Bild eine Größe von 2048x1536 Pixel aufweist, würde der Text so ziemlich in der Mitte, am unteren Bildrand, stehen. Je nachdem, wie groß eure Bilder sind müsst ihr etwas probieren, um die richtige Position zu finden. Vielleicht möchte es aber auch jemand ganz woanders stehen haben... Einfach austesten.
Ihr könnt natürlich alles an eure Bedürfnisse anpassen. Naja, nicht jeder will "Copyright by Cero" in seinen Bildern stehen haben ;-) Weitere Hilfe bietet natürlich auch die Manpage von convert bzw. convert --help
Eigenes Logo als Wasserzeichen
Falls jemand statt des Textes lieber ein Logo als Wasserzeichen verwenden möchte, so kann er dies mit diesem Codeschnippsel tun:
ls -1 *.jpg | while read file; do composite -gravity southeast logo.jpg "$file" "`basename Wasserzeichen_"$file"`"; done
Logo.jpg muss natürlich durch die entsprechende Bilddatei ersetzt werden.
Achtung: Bevor ihr sowas macht, solltet ihr aber immer ein Backup der Bilder machen. Es kann immer mal etwas schief gehen und dann wären die Originale hin.
--Cero 18:59, 16. Aug 2006 (CEST)