Sonntag, 1. Juli 2007

Tool um Urlaubsbilder als "JPEG-CD" für DVD-Player darstellen zu können



(Realer Fall)
Manche DVD-Player besitzen die Möglichkeit, JPEG-Bilder darzustellen (einzeln oder als Diashow). Allerdings ist die Größe der Bilder beschränkt.
Knipst man nun Bilder, die größer sind (wenn auch nur minimal), und man möchte eine CD erstellen, die sowohl als Backup, als auch Präsentations-Grundlage dient und man keine großen Qualitätsverluste hinnehmen möchte, muss man die Bilder eben auf die maximale Größe proportionserhaltend verkleinern. Abgesehn von der Größe an sich, geht bei jedem Speichern im JPEG-Format durch die verlustbehaftete Kompression (in der Regel auch bei 100%-iger Qualitätserhaltung) Information verloren. Diese ist allerdings sehr gering.
Da man jetzt nicht jedes Bild einzeln anpassen will, bietet es sich an, die Parameter des Programms IrfanView zu verwenden. Informationen zu den Parametern gibt's im IrfanView-Installationsverzecichnis (z.B.: C:\Programme\IrfanView\) in der Datei "i_options.txt".
Für das vorhandene Problem (Annahme: die Bilddateien befinden sich bereits in einem Ordner) ergibt sich somit folgende Anweisung (kann z.B. aucheine Batchdatei kopiert werden):
C:\Programme\IrfanView\i_view32.exe "C:\Meine Urlaubsbilder\Tadschikistan\*.jpg" /jpgq=90 /resize=(3840,2160) /aspectratio /resample /convert="C:\Meine Urlaubsbilder\Tadschikistan JPEG CD\*.jpg"
oder allgemeiner formuliert:
"" "\*.jpg" /jpgq= /resize=(,) /aspectratio /resample /convert "\*.jpg"

TAGS HATS VERRISSEN! :D

Erläuterungen:
  • <> bezeichnen Werte, die sich mehr (Quelle und Ziel für Bilder) oder weniger oft (IrfanView-Exe, maximale Höhe/Breite) ändern
  • Verzeichnisse und Pfade zu Dateien sollen in "" gesetzt werden, damit diese Pfadangaben Leerzeichen enthalten dürfen.
  • /aspectratio behält die Proportionen bei (normal 4:3)
  • /resample erzeugt eine "bessere Qualität" (wie auch immer) beim Ändern der Größe.

Natürlich hat man keine Lust, nach jedem Urlaub oder jeder Foto-Session ;) diese kleine Anweisung zu ändern, also bastelt man sich am besten ein kleines Programm, das es erlaubt, die veränderbaren Werte ( in <>; werden jetzt natülich in irgendeiner Form Variablen) bequem zu ändern.

Ich habe mich für eine Entwicklung in C# mit dem Visual Studio 2007 von Microsoft entschieden, da man Oberflächen schnell zusammenklicken kann und ich das eh man antesten wollte.

Also klicke ich mal fleißig drauf los ;)

to be continued...

Screenshots hinzugefügt... Sieht schonmal lustig aus und funktioniert auch soweit alles :)
Den hingequetschten Debug-Bereich kann man sehr einfach durch Verkleinern im Design verschwinden lassen.
Das Kontrollkästchen "Dateinamen durchnummerieren" nummeriert die erstellen Dateien in "Windows"-lexikographischer Ordnung (der DVD-Player und/oder Brenner verwendet möglicherweise andere Sortieralgorithmen), so dass aus IMAGE01, IMAGE100 und IMAGE10 dann (bei einer Anzahl von 100 bis 999 Bildern) Tadschikistan07_001, Tadschikistan07_100 und Tadschikistan07_010. Die Ordnung ist somit immer eindeutig. Die Anzahl der vorgestellten Nullen ermittelt sich aus der Anzahl der Ziffern der Anzahl der Dateien.

to be continued... z.B. Nachrichten im SystemTray, wann der Vorgang fertig ist (Dann würde auch der hässliche Dialog nicht permanent stören und der "Spaß"-Fortschrittsbalken (läuft nur vor und fängt wieder an) entfallen).
Desweiteren wäre eine Bildvorschau sinnvoll um die Qualität vergleichen zu können von vorher/nachher. Eine Speicherung der zuletzt gemachten Einstellungen wäre ebenfalls wünschenswert.

Aber ich machs eh nicht! :D

Keine Kommentare: