Zum Inhalt springen

[Skript] Automatisiert Bilddateien mit Copyright/Beschriftung erstellen


Oshkosh

Empfohlene Beiträge

Huhu,

 

ich stand heute vor dem Problem massenhaft Bilddateien mit einem Text zu beschriften. Aus diesem Umstand entstand ein Skript, welches genau dieses Problem löst. Da hier einige immer ihre Namen unter die Bilder setzen (mehr oder weniger dezent), möchte ich meine Lösung hier vorstellen/teilen.

 

Was wird benötigt?

Die Bildumwandlung wird mit der Programmbibliothek Imgemagick ausgeführt. Diese ist sehr verbreitet und u.a. auch bei a.net für die Wasserzeichen/Copyrightbalken zuständig. In meinem Fall verwende ich die Windows Binaries, welche auf dem Rechner installiert werden:

 

Download: http://www.imagemagick.org/script/binary-releases.php#windows

 

Imagemagick wurde installiert, was nun

Ich habe das fertige Skript auf meinem Webserver abgelegt, es kann hier heruntergeladen werden:

http://www.oshkosh-web.net/temp/imcopybox/imcopybox.zip

Es handelt sich um ein Kommandozeilenskript für Windows PCs, getestet habe ich es unter Vista.

 

Ok, Download fertig und das Skript wurde in dem Ordner abgelegt* - und weiter?

Nun das Skript von der Kommandozeile (Start > Ausführen > CMD.EXE) im Verzeichnis der zu beschriftenden

Bilder ausführen und als Parameter den neuen Dateipräfix (z.B. Datum, o.ä.) mitgeben:

imcopybox-01.png

 

Nachdem das Skript abgearbeitet wurde, sind die Dateien mit dem neuen Präfix zusätzlich vorhanden.

Wer möchte, kann das Skript so anpassen, das die Bilder überschrieben werden (Ohoh):

imcopybox-02.png

 

* ganz Faule kopieren das einfach ins Windows Verzeichnis.

 

Und was hat das Ganze jetzt gebracht? Aus diesem hier:

7.jpg

 

...wurde das hier:

20070418-7.jpg

 

Viel Spaß und Gruß,

 

Markus

Link zu diesem Kommentar
Auf anderen Seiten teilen

Hallo,

 

für Freunde von grauen, halbtransparenten Boxen, hier noch eine andere Variante:

grey-20070418-7.jpg

 

Einfach die Zeile mit der FOR Schleife im Skript durch diese ersetzen:

for %%b in (*.%FileExt%) do convert -background "#0008" -fill white -gravity southeast -size %ImgWidth%x15 caption:%AnnoText% +size %%b +swap -gravity southeast -composite %NewFilePrefix%-%%~nb.jpg

 

PS.: könnte einer der Mods mein Buchstabensalat im Threadtitel korrigieren?

 

Gruß,

 

Markus

Link zu diesem Kommentar
Auf anderen Seiten teilen

Hallo,

 

Habe alle 5 Dateien runter gezogen und installiert. Ebenfalls Dein script.

von Imagemagick wird eigentlich nur eine Datei zur Installation benötigt:

ImageMagick-6.4.2-1-Q16-windows-static.exe

Dies ist die Version für 32bit Windows und 16bit Farbtiefe.

 

Zum "Laufen" bringe ich es allerdings nur, wenn ich Dein File im (Bild-) Ordner doppelklicke.

Das Skript funktioniert "nur" in einer Kommandozeile, d.h. START > AUSFÜHREN > CMD.EXE. In diesem Fenster in das Verzeichnis wechseln und dort das Skript ausführen. Dabei nicht vergessen, den Präfix für die generierten Dateinamen einzugeben (siehe Screenshots).

 

Zudem, wie kann ich das script an meine Vorstellungen anpassen?

Anpassen muss man nur den Text, der in die Bilder kopiert werden soll. Hierfür kann man das Skript mit dem Windows Editor (notepad.exe) editieren. Der Text für die Bilder ist als Variable definiert (AnnoText) und kann einfach angepasst werden - dabei bitte die "" Zeichen nicht löschen.

 

 

Gruß,

 

Markus

Link zu diesem Kommentar
Auf anderen Seiten teilen

Hallo,

 

Farbverlauf gefällig?

20070720-11.jpg

 

Einfach die Zeile mit der FOR Schleife im Skript durch diese ersetzen:

for %%b in (*.%FileExt%) do convert -size %ImgWidth%x20 gradient:none-black -gravity southeast -stroke black -strokewidth 2 -annotate 0 %AnnoText% -channel RGBA -blur 0x3 -stroke none -fill white -annotate 0 %AnnoText% +size %%b +swap -gravity southeast -geometry +0+0 -composite %NewFilePrefix%-%%~nb.jpg

Die beiden fettgedruckten Farbwerte sind Ende und Anfang des Farbverlaufs, hier können (geschmacklich) beliebige Farben verwendet werden (z.B. yellow-limegreen für ganz mutige).

 

Gruß,

 

Markus

Link zu diesem Kommentar
Auf anderen Seiten teilen

Hallo,

 

so langsam bekomme ich die Schriften in den Griff - ist aber nicht so trivial?

ffch-11.jpg

 

Einfach die Zeile mit der FOR Schleife im Skript durch diese ersetzen:

for %%b in (*.%FileExt%) do convert -size %ImgWidth%x25 gradient:none-#29699C -gravity southeast -stroke black -strokewidth 2 -font Helvetica-Bold -pointsize 20 -annotate 0 %AnnoText% -channel RGBA -blur 0x3 -stroke none -fill white -annotate 0 %AnnoText% +size %%b +swap -gravity southeast -geometry +0+0 -composite %NewFilePrefix%-%%~nb.jpg

 

Gruß,

 

Markus

Link zu diesem Kommentar
Auf anderen Seiten teilen

Dein Kommentar

Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung jetzt entfernen

  Nur 75 Emojis sind erlaubt.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

×
×
  • Neu erstellen...