Batcherstellung von Bildsignaturen [erledigt]

Bonzenkind

Neu angemeldet
Registriert
11 Juni 2014
Beiträge
31
Hiiii,

ich habe ca. 400 Zeichnungen, die ich auf einen Blog stellen möchte - allerdings mit einer Kenntlichmachung des Urhebers dieser Zeichnungen. Ich möchte, das menschen die Grafik nutzen - aber eben die Signatur dranbleibt; möglichst dezent das es nicht stört. Vom Konzept also so wie die unteren Zeilen einer statista.com-Grafik - mir reichts aber in schwarz-weiß und noch dezenter:



Problem dabei stellt hauptsächlich dar, dass die Bilder selbstverständlich sehr unterschiedlich groß sind und ich zum beispiel einen vorgefertigten 1500 px breiten und 100 px hohen Balken unter jedes Bild klatschen würde, das ganze bei einem 122 px breiten Bild reichlich beschissen aussähe.

Im Grunde macht der AVS Image Converter mit seiner Wasserzeichenfunktion genau das, was ich brauche. Das Problem bei diesem Tool ist aber leider, dass bei manchen Bildern die Zeichenungen bis ganz zum unteren Bildrand gehen - also etwas vom Inhalt abgeschnitten wird, was natürlich auch doof ist. Eine Option, die an jedes Bild automatisch die prozentuale Breite der Bildsignatur anhängen würde wäre im Grunde genau das Ding, was ich bräuchte.

Eine andere Möglichkeit wäre es ggf., wenn man mit Photoshopaktionen prozentuale Ebeneneinfügung und Abmessungsanpassung gedeichselt bekommt. Weiß jemand ob das geht? Oder hat vielleicht einen besseren weg?

Liebsten Dank! Bonze​
 
Zuletzt bearbeitet:
Re: Batcherstellung von Bildsignaturen

Imagemagick sollte das ideale Tool dafür sein. Einen entsprechenden convert-Befehl müsstest Du Dir aber selbst basteln. Alle relevanten Parameter sollten hier aufgelistet sein:


Du brauchst eigentlich nur den Befehl von "Border type watermark" zusammen mit dem Batch-Skript weiter unten und einer oder zwei hybschen Wasserzeichen-Grafiken.
 
Re: Batcherstellung von Bildsignaturen

Sonst evtl. mal das probieren:


Für Imagemagick wäre das ein Bash-Script:

[src=bash]#!/bin/bash
# Wasserzeichentext in alle JPEG Bilder aus diesen Verzeichnis einfuegen
# Der Wasserzeichentext wird unten links ins Bild eingebracht
# Sie koennen folgende Parameter anpassen:
Textabstandvonlinks=10
Textabstandvonunten=10
Schriftgroesse=10
PfadFonts="/usr/share/fonts/truetype/msttcorefonts"
# Pfad ist je nach Distribution unterschiedlich!
Schriftart="Arial.ttf"
Schriftfarbe="white"
# Moegliche Farben koennen aufgelistet werden mit dem Befehl: convert -list color
Wasserzeichentext="Copyright Ubuntu"

# Programmbeginn
echo "Textabstand von links: $Textabstandvonlinks"
echo "Textabstand von unten: $Textabstandvonunten"
echo "Schriftgoesse: $Schriftgroesse"
echo "Schriftart: $Schriftart"
echo "Schriftfarbe: $Schriftfarbe"
echo "Wasserzeichentext: $Wasserzeichentext"
echo " "
ls -1 *.JPG *.jpg | while read file;
do {
horizontal=`identify -verbose $file | grep Geometry: | awk {'print $2'} |cut -d"x" -f 1`
vertikal=`identify -verbose $file | grep Geometry: | awk {'print $2'} |cut -d"x" -f 2`
X=$Textabstandvonlinks
Y=$(($vertikal - $Textabstandvonunten))
convert -font $PfadFonts/$Schriftart -pointsize $Schriftgroesse -fill $Schriftfarbe -draw "text $X, $Y '$Wasserzeichentext'" "$file" "`basename Wasserzeichen_"$file"`";
echo "Bearbeite Datei $file"
}
done
echo "Wasserzeichen wurden erfolgreich eingearbeitet"
exit
# Programmende[/src]
 
  • Thread Starter Thread Starter
  • #4
Re: Batcherstellung von Bildsignaturen

Geilo, das sieht wirklich gut aus! Dankesehr! Auch diese Seite hier sieht vielversprechend aus:

Ich habe jetzt mal versucht mir eine Batchdatei für meine Bedürfnisse (also neuerstelltem Rand im Bild) zusammenzuschnipseln...[src=bash]@echo off
FOR %%i IN (./\*.jpg ./\*.jpeg) DO (
IF NOT EXIST ./\watermarked mkdir watermarked
convert ^
-filter Lanczos ^
"%%i" ^
-set option:filter:filter Lanczos ^
-set option:filter:blur 0.8 ^
-bordercolor white -border 20x18 -gravity South -background white -splice 0x15 ^
./border-wm-left.png -gravity southwest -geometry +29+11 -composite ^
./border-wm-right.png -gravity southeast -geometry +29+5 -composite ^
"./watermarked/%%~nxi"
)[/src]...wo allerdings in dem neu erstellten watermarked-Ordner bei einem Testbild von 632x636 nichts passiert; es wird kein neues Bild ausgegeben.

Ich muss ehrlich zugeben, dass ich noch weniger Linux als Windowsfit bin, ich teste das aber, wenns auf Windows nicht klappt.

Bulkwatermark hatte ich auch bereits getestet, hatte aber leider auch das Problem, dass kein zusätzlicher Rahmen miterstellt werden konnte.

Liebsten Dank euch beiden!
 
Re: Batcherstellung von Bildsignaturen

Die Befehle bleiben für Image Magic die gleichen, hatte das script zufällig nur gefunden - imagemagic kommt aus der linuxwelt.

so einfach lässt sich das aber auch nicht konvertieren mir fällt gerade kein schöner weg ein die geometrie von Bildern zu bemessen :(
 
Zuletzt bearbeitet:
  • Thread Starter Thread Starter
  • #6
Re: Batcherstellung von Bildsignaturen

Oh wie grandios! Ich habs hinbekommen nachdem ich mich nochmal ein bisschen drangesetzt habe :)! Am Ende habe ich mich für PNG entschlossen, da das Resizing durch ImageMagick durchaus viele Artefakte erzeugt hat. So hats supergeklappt![src=bash]@echo off
FOR %%i IN (./\*.png ./\*.PNG) DO (
IF NOT EXIST ./\watermarked mkdir watermarked
convert ^
-filter Lanczos ^
"%%i" ^
-set option:filter:filter Lanczos ^
-set option:filter:blur 0.8 ^
-bordercolor white -border 0x0 -gravity South -background white -splice 0x35 ^
../SIGNATUR.png -gravity southeast -geometry +0 -composite ^
"./watermarked/%%~nxi"
)[/src]Der Code erzeugt jetzt unter jedem Bild einen 35px hohen weißen Balken in dem die SIGNATUR.png angezeigt wird. Die ist rechtsbündig und der Rand wird nur unten erstellt.

Vielen vielen Dank euch beiden!

Bonzenkind​
 
Zurück
Oben