Blog Digitalgesellschaft Verwaltungsbetrieb Textarchiv Textarchiv Walter Kirk (✝) Impressum
Bildformat ändern und Wasserzeichen einbinden
1 Vorbemerkung2 Quelle3 Voraussetzungen4 Bash-Skript4.1 Bildformat ändern4.2 Wasserzeichen einbinden4.3 Fertiges Skript5 XnConvertLiteraturZusammenfassung
Für die eigene Internetpräsenz ist es durchaus notwendig, ggf. die Bilder mit einem niedrigen Speicherbedarf und trotzdem guter Qualität zu erstellen sowie mit einem Wasserzeichen zu versehen und zu veröffentlichen.
Bei mehreren Bildern ist es ratsam, dies teilweise automatisch erstellen zu lassen, und zwar 1. die Änderung des Bildformates und 2. das Einbinden des Wasserzeichens.
Unter Linux-Betriebssystemen lässt sich dies mit Programmen nicht immer in einem Vorgang bewerkstelligen. Hilfreich ist deshalb die Nutzung eines Bash-Skriptes zur Formatumwandlung und zum Einbinden des Wasserzeichens
Der Blogbeitrag Wasserzeichen unter Linux mit composite in Bilder einfügen von Christoph Maya zeigt die Einbindung des Wasserzeichens in Form eines Bash-Skriptes auf.
Auf debian-basieren Linux-Distributionen ist es notwendig, ggf. ImagMagick nicht aus den Paketquellen zu beziehen, sondern die Installation gemäß den Anweisungen der Herausgeber durch zu führen. Die Installation ist hier aus ausführlich beschrieben. Dies kann deshalb notwendig sein, damit ImageMagick auch .avif erstellen und bearbeiten kann.
Benötigt werden zwei Hilfsprogramme: convert und composite.
Zur Umwandlung wird hier voraus gesetzt, dass Bilder als .png vorliegen.
Mit convert erfolgt die Konvertierung in das Format .avif und .webp. Damit alle .png umgewandelt werden, wird die Ausführung festgelegt mit:
xxxxxxxxxx
for image in *.png ; do convert "$image" "${image%.*}.avif" ; done
xxxxxxxxxx
for image in *.png ; do convert "$image" "${image%.*}.webp" ; done
Das vorgesehene Wasserzeichen sollte in Form einer Bilddatei bereits vorliegen (.png etc.). Zum Einbinden wird composite genutzt:
xxxxxxxxxx
for filename in ./*.*; do
echo "Füge Watermark in Datei $filename ein"
composite -gravity southwest -geometry x20+20+20 /speicherort/wasserzeichen.png $filename ./done/$filename
done
Im Beispiel wird das Zeichen mit der Option -gravity southwest links Unten eingefügt.
Das Bash-Skript mit beiden Teilen umfasst folgende Angaben:
xxxxxxxxxx
!/bin/bash
# Formate erstellen
for image in *.png ; do convert "$image" "${image%.*}.webp" ; done
# funktioniert wenn Neuinstallation
# https://imagemagick.org/script/install-source.php
for image in *.png ; do convert "$image" "${image%.*}.avif" ; done
# Quelle: https://mayach.de/wasserzeichen-unter-linux-mit-composite-in-bilder-einfuegen/
# Verzeichnis anlegen
mkdir -p done
# Wasserzeichen einfügen
for filename in ./*.*; do
echo "Füge Watermark in Datei $filename ein"
composite -gravity southwest -geometry x20+20+20 /speicherort/wasserzeichen.png $filename ./done/$filename
done
Die erstellten und ergänzten Dateien werden im Ordner /done im Arbeitsverzeichnis abgelegt.
Im Terminal wird bei Ausführung angezeigt:
xxxxxxxxxx
Füge Watermark in Datei ./~/name.avif ein
Füge Watermark in Datei ./~/name.png ein
Füge Watermark in Datei ./~/name.webp ein
Wer diese beiden Aufgaben lieber mit einem Programm erledigen will, der kann sich das Tool XnConvert ansehen. Die Einbindung eines Wasserzeichens lässt sich unter Verarbeitung, die Umwandlung unter Ausgabe voreinstellen.
Man Page
composite https://www.commandlinux.com/man-page/man1/composite.1.html
convert https://linux.die.net/man/1/convert
Installation ImageMagick
Imagemagick Source https://imagemagick.org/script/install-source.php
Skript Grundmuster für Wasserzeichen
Maya, Christoph: Wasserzeichen unter Linux mit composite in Bilder einfügen
Für eine Umwandlung und das Einfügen eines Wasserzeichens reicht das vorliegende Skript zur Stapelverarbeitung aus. Zusätzliche Programme werden nicht unbedingt benötigt. Wichtig ist die Abstellung auf die eigenen Bedürfnisse und Verhältnisse.
Wolfgang Kirk
Veröffentlicht: 2023-01-02 aktualisiert: 2024-02-05, 11:00 Uhr