Der Code um Wasserzeichen und Exif-Datum in Bilder einzubetten:
#!/bin/bash
# Text und Aufnahmedatum in alle JPEG Bilder in aktuellen Verzeichnis einfuegen
# Der Text wird links unten ins Bild kopiert
# Parameter:
EinzugLinks=80
EinzugUnten=10
Schriftgroesse=40
PfadFonts="/usr/share/fonts/truetype/msttcorefonts"
# Der Pfad ist abhänig von der Distribution - dieser funktiniert in Ubuntu und Mate
Schriftart="Arial.ttf"
Schriftart="Courier_New_Bold.ttf"
Schriftfarbe="white"
# Andere Farben: convert -list color
PrefixText="www.hagenfragen.de"
# ZielVerzeichnis falls gewuenscht
ZielVerzeichnis="/lager2/WebCams/testbilder"
# Parameter ausgeben
echo "Textabstand links: $EinzugLinks"
echo "Textabstand unten: $EinzugUnten"
echo "Schriftgoesse: $Schriftgroesse"
echo "Schriftart: $Schriftart"
echo "Schriftfarbe: $Schriftfarbe"
echo "BildText: $BildText"
echo " "
# Loop über alle Bilder
for Bild in *.JPG *.jpg
do
DateTimeOriginal=`exiftool -d "%d.%m.%Y - %H:%M" -DateTimeOriginal -S -s $Bild`
BildText= "$PrefixText - $DateTimeOriginal"
horizontal=`identify -verbose $Bild | grep Geometry: | awk {'print $2'} |cut -d"x" -f 1`
vertikal=`identify -verbose $Bild | grep Geometry: | awk {'print $2'} |cut -d"x" -f 2`
X=$EinzugLinks
Y=$(($vertikal - $EinzugUnten))
# Variante 1: Bilder in gleichem Verzeichnis ablegen
# convert -font $PfadFonts/$Schriftart -pointsize $Schriftgroesse -fill $Schriftfarbe -draw "text $X, $Y '$BildText'" "$Bild" "`basename "$PrefixText - $Bild"`";
#Variante 2: Bilder in anderem (fixen) Pfad ablegen
convert -font $PfadFonts/$Schriftart -pointsize $Schriftgroesse -fill $Schriftfarbe -draw "text $X, $Y '$BildText'" "$Bild" ""$ZielVerzeichnis"/"$PrefixText"_"$Bild"";
echo "Bearbeite Datei $Bild"
done
echo "Done"
exit
wasserzeichen.sh
+ EinzugLinks=80
+ EinzugUnten=10
+ Schriftgroesse=40
+ PfadFonts=/usr/share/fonts/truetype/msttcorefonts
+ Schriftart=Arial.ttf
+ Schriftart=Courier_New_Bold.ttf
+ Schriftfarbe=white
+ PrefixText=www.hagenfragen.de
+ ZielVerzeichnis=../test5
+ echo ‚Textabstand links: 80‘
Textabstand links: 80
+ echo ‚Textabstand unten: 10‘
Textabstand unten: 10
+ echo ‚Schriftgoesse: 40‘
Schriftgoesse: 40
+ echo ‚Schriftart: Courier_New_Bold.ttf‘
Schriftart: Courier_New_Bold.ttf
+ echo ‚Schriftfarbe: white‘
Schriftfarbe: white
+ echo ‚BildText: ‚
BildText:
+ echo ‚ ‚
+ for Bild in *.jpg
++ exiftool -d ‚%d.%m.%Y – %H:%M‘ -DateTimeOriginal -S -s IMG_20181228_232227.jpg
+ DateTimeOriginal=’28.12.2018 – 23:22′
++ http://www.hagenfragen.de – 28.12.2018 – 23:22
/home/matthias/bin/wasserzeichen.sh: Zeile 30: http://www.hagenfragen.de: Kommando nicht gefunden.
+ BildText=
++ identify -verbose IMG_20181228_232227.jpg
++ grep Geometry:
++ awk ‚{print $2}‘
++ cut -dx -f 1
+ horizontal=3024
++ identify -verbose IMG_20181228_232227.jpg
++ grep Geometry:
++ awk ‚{print $2}‘
++ cut -dx -f 2
+ vertikal=4032+0+0
+ X=80
+ Y=4022
+ convert -font /usr/share/fonts/truetype/msttcorefonts/Courier_New_Bold.ttf -pointsize 40 -fill white -draw ‚text 80, 4022 ‚\“’\“‘ IMG_20181228_232227.jpg ../test5/www.hagenfragen.de_IMG_20181228_232227.jpg
+ echo ‚Bearbeite Datei IMG_20181228_232227.jpg‘
Bearbeite Datei IMG_20181228_232227.jpg
+ echo Done
Done
+ exit
Was wird hier für ein Kammndo gesucht ? Zeile 30 enthält keinen ???
Sorry, verstehe die Frage nicht. Um was geht es?