"Christmas - the time to fix the computers of your loved ones" « Lord Wyrm

DAU-freundliches batch watermarking+resizing

EvilGohan 12.09.2011 - 17:32 2385 28
Posts

EG

thinking with portals
Avatar
Registered: May 2004
Location: 11**
Posts: 3918
Suche schon länger eine DAU-freundliches Freeware/Open Source Lösung, um Fotos zu verkleinern und ihnen ein Wasserzeichen zu verpassen. Bin leider noch nicht fündig geworden.

Zur Zeit verwenden wir watermarkv2. Das kann leider die lange Seite eines Fotos nicht erkennen und verändert somit die Größe von Hochformat Fotos falsch. Das heißt wir müssen zur Zeit mit einem Programm resizen (meistens Irfranview) und danach watermarken.

Das ist für mich einfach, jedoch sind meine Feuerwehrkameraden damit teilweise überfordert.

Ausgangsmaterial sind JPGs aus einer 08/15-Digicam und ein Wasserzeichen, welches als png-Datei vorliegt.
Das Wasserzeichen ist bereits vorbereitet, damit es für die Standard Facebook-Auflösung passt: 720x540 Pixel
Die Fotos kommen im Anschluss auf unsere Facebook-Seite.

Mein Wunsch wär also ein Programm, dass:

1. die Bilder verkleinert (long side to: 720px)
2. das Wasserzeichen aufbringt
3. die gemarkten Fotos in einen neuen Ordner speichert.

Optimal wär natürlich, wenn man diese Einstellung fix-fertig in eine Profil-Datei packen könnte, damit nurmehr die Fotos ausgewählt werden müssen.

Wenn jemand sowas kennt wär ich sehr dankbar! :)

tia

Viper780

Moderator
Er ist tot, Jim!
Avatar
Registered: Mar 2001
Location: Wien
Posts: 50261
also irfanview sollte das resizen und das mit de ORdnern können, Watermark geht aber glaub ich nicht

userohnenamen

leider kein name
Avatar
Registered: Feb 2004
Location: -
Posts: 15859
eventuell mal die plugins checken, aber ob das dann auch per batch funktioniert is ne andere sache

EG

thinking with portals
Avatar
Registered: May 2004
Location: 11**
Posts: 3918
Irfanview is halt nur sehr begrenzt DAU-tauglich...die vielen Optionen beim Batch-Konvertieren verwirren die meisten sehr! :(

Hab ihnen das schon mehrmals erklärt, aber immer wieder gibts Probleme. Einige machens dann halt mit Paint händisch für jedes Foto! ;)

COLOSSUS

Administrator
GNUltra
Avatar
Registered: Dec 2000
Location: ~
Posts: 12112
Shellscript/Batchfile mit entsprechendem ImageMagick/GraphicsMagick-Zauberpulver (das du dir aber selber zusammensuchen wirst muessen, ich fall gleich aufs Keyboard vor Muedigkeit :D) - hab ich vor langer Zeit mal fuer meine Mutter gemacht, allerdings ohne Wasserzeichen. Sie musste nur die Quellbilder von der Kamera in ein Verzeichnis kippen, das Shellscript starten (per Mausklick :eek:), auf die "Fertig"-Nachricht warten und konnte die Bilder aus einem Zielverzeichnis abholen.

EG

thinking with portals
Avatar
Registered: May 2004
Location: 11**
Posts: 3918
Ganz vergessen zu erwähnen: Die DAUs haben alle Windows XP/Vista/7 durch die Bank und ich hab auch keine Handhabe das zu ändern! ;)

Obwohl das wohl die ultimative Lösung wär. Einfacher gehts kaum.

userohnenamen

leider kein name
Avatar
Registered: Feb 2004
Location: -
Posts: 15859
und ne cygwin lösung zusammenbasteln geht nicht? :D

that

Hoffnungsloser Optimist
Avatar
Registered: Mar 2000
Location: MeidLing
Posts: 11340
Von ImageMagick gibts eh eine Win32-Version...

COLOSSUS

Administrator
GNUltra
Avatar
Registered: Dec 2000
Location: ~
Posts: 12112
Iirc frisst ImageMagick sogar selbst Wildcard-Patterns fuer Eingabe-Dateinamen, d. h. du muesstest dich nicht mal mit der schauderhaften Syntax von cmd fuer for-loops schlagen... ;)

that

Hoffnungsloser Optimist
Avatar
Registered: Mar 2000
Location: MeidLing
Posts: 11340
Zitat von COLOSSUS
Iirc frisst ImageMagick sogar selbst Wildcard-Patterns fuer Eingabe-Dateinamen, d. h. du muesstest dich nicht mal mit der schauderhaften Syntax von cmd fuer for-loops schlagen... ;)

...die IMHO nicht schauderhafter ist als die von anderen ("richtigen") shells...

spunz

Super Moderator
Super Moderator
Avatar
Registered: Aug 2000
Location: achse des bösen
Posts: 11284
Zitat von EvilGohan
Ganz vergessen zu erwähnen: Die DAUs haben alle Windows XP/Vista/7 durch die Bank und ich hab auch keine Handhabe das zu ändern! ;)

bei win7 sollte watermark plugin für die beigelegte live gallery reichen (zb http://wlpgwatermarker.codeplex.com/). auch ein upload in fb.com ist möglich.

eine weitere möglichkeit ist google picasa3. hier können wasserzeichen aber nur in textform eingegeben werden.

COLOSSUS

Administrator
GNUltra
Avatar
Registered: Dec 2000
Location: ~
Posts: 12112
Zitat von that
...die IMHO nicht schauderhafter ist als die von anderen ("richtigen") shells...

Man vergleiche:

Code:
for /r %%i in (*) do echo %%i

Code:
for i in *; do echo $i; done

batch/cmd.exe kriegt noch Extrapunkte dafuer, dass man in einer interaktiven Shell die Schleifenvariable anders aufloest als in einer noninteraktiven.

Ich weisz nicht wie's dir geht, aber ich tu mir nicht schwer damit, die grindigere der beiden Varianten _eindeutig_ zu identifizieren ;)

Neo-=IuE=-

Here to stay
Registered: Jun 2002
Location: Berndorf, NÖ
Posts: 3232
naja warum tust du dir da wohl schwer, weil du wahrscheinlich zu 90% die linux-variante verwendest (oder eben andere unix-based systems)

ich hätte bis vor kurzem beide nachschauen müssen, jetzt wo ich in der firma viel shell-aufgaben unter linux erledige, weiß ich auch die linux-variante auswendig

EG

thinking with portals
Avatar
Registered: May 2004
Location: 11**
Posts: 3918
Zitat von spunz
bei win7 sollte watermark plugin für die beigelegte live gallery reichen (zb http://wlpgwatermarker.codeplex.com/). auch ein upload in fb.com ist möglich.

Das wär wohl eine echte Alternative! Danke für den Tipp! :)

edit: Neo, Colo...streites euch bitte über solche Belanglosigkeiten irgendwo anders.

EG

thinking with portals
Avatar
Registered: May 2004
Location: 11**
Posts: 3918
Sodala! :)
Hab mich für die Imagemagick Variante entschieden.

Das klappt auch schon sehr gut...das Problem liegt jedoch bei Windows... ;)

Aaaalso...unter Windows gibts %system%/convert.exe!
IM hat ebenfalls eine convert.exe.

Deshalb kann man nicht einfach auf die convert-Funktion von IM zugreifen.

Es gibt die Varianten:
- Absoluten Pfad angeben
- Pfad aus der Umgebungsvariable auslesen
- Pfad aus der Registry auslesen

Scheinbar ist die Umgebungsvariable nicht aktuell, wenn ein Update durchgeführt wird, oder eine neue Installation über die alte durchgeführt wird.

Also bleibt nur die Registry...dort gibts aber scheinbar auch wieder unterschiedliche Pfade je nach Betriebssystem und Installer.

1. Variante: XP Pfad
2. Variante: Vista/7 32 Bit Pfad
3. Variante: Vista/7 64 Bit Pfad mit 32 Bit Installer

Der Unterschied kommt nicht vom IM-Installer sondern vom OS!

Tolle Sache oder? :bash:

Wird noch besser...wenn man mittels REG QUERY einen Wert aus der Registry ausließt, wird der Wert beim ersten Leerzeichen (sofern eines vorhanden ist) abgeschnitten! :bash: :bash:

Jetzt ist die Frage:
Wie stelle ich den korrekten Pfad zu den exe-Files fest?

Das "Script" soll auf Windows XP, Vista und 7 funktionieren ohne Userinteraktion!

Ziel:
1. Pfad auslesen
2. zwei Ordner erstellen
3. In einer for-Schleife alle jpgs des gleichen Ordners durchlaufen und jeweils die lange Seite der Bilder auf 1024 und 720 Pxiel verkleinern. Dabei werden die Proportionen beibehalten.
4. die größere Bilder kommen in den Ordner "bfkdo", die kleineren in den Ordner "fb"
5. Auf die kleineren Bilder kommt dann noch das Wasserzeichen!

Funktioniert super, bis auf den Pfad und die "lange Seite". Ideen?

Code:
:: Ausgabe ausschalten
@echo off

mkdir bfkdo
mkdir fb

FOR /F "tokens=3 skip=2" %%i IN ('REG QUERY "HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\ImageMagick\Current" /v BinPath') DO SET im_path=%%i

echo %IM_PATH%

:: Alle jpg Bilder aus Verzeichnis lesen, verkleinern und ein png-Wasserzeichen hinzufügen
for %%f in (*.jpg) do (
	echo %%f
	"C:\Program Files (x86)\ImageMagick-6.7.2-Q16\convert" "%%f" -resize "1024x1024>" "bfkdo\bfkdo_%%f"
	"C:\Program Files (x86)\ImageMagick-6.7.2-Q16\convert" "%%f" -resize "720x720>" "fb\fb_%%f"
	"C:\Program Files (x86)\ImageMagick-6.7.2-Q16\composite" -gravity southeast wasserzeichen_hoeher.png "fb\fb_%%f" "fb\fb_%%f" )

edit: fixed long edge issue! :)

Wenn bei convert -resize z.B. 1024x1024 angegeben wird, ignoriert es zu Gunsten des Seitenverhältnisses den falschen Wert! =)
Bearbeitet von EG am 16.09.2011, 00:57
Kontakt | Unser Forum | Über overclockers.at | Impressum | Datenschutz