# Bildhelfer Ein Hilfsprogramm zum Verkleinern von Bildern von der Kommandozeile aus. ## Voraussetzungen Zur Herstellung und Nutzung des Bildhelfers werden ein Java Development Kit (JDK) und der Quellcode des Bildhelfers benötigt. Das JDK ist z.B. von [Azul](http://azul.com) oder dem [OpenJDK-Projekt](http://openjdk.java.net/) frei erhältlich. In der hier folgenden weiteren Beschreibung wird der lokale Ablageort des Java Development Kits `$JDK` genannt. ## Bildhelfer erhalten Der Quellcode des Bildhelfers wird von hier an einen frei wählbaren lokalen Ablageort [heruntergeladen](/gitblit/zip/?r=cli/bildhelfer.git&format=zip) und entpackt. In der hier folgenden weiteren Beschreibung wird das so entstandene Verzeichnis `bildhelfer` einschließlich des absoluten Pfades dorthin `$BILDHELFER` genannt. Anstelle von `$BILDHELFER` würde man also beispielweise `/home/fred/bildhelfer` notieren, wenn in das persönliche Verzeichnis des Benutzers `fred` heruntergealden und entpackt wurde. ## Bildhelfer herstellen Der Bildhelfer ist als Werkzeug zur Ausführung von der Kommandozeile aus gedacht. Zur Herstellung werden mit Hilfe der wie zuvor beschrieben geladenen Teile die folgenden Kommandos ausgeführt (Beispiel für Linux): ``` cd $BILDHELFER mkdir classes mkdir dist $JDK/javac -d classes src/de/uhilger/bildhelfer/*.java cp src/* classes $JDK/jar -cfm dist/bildhelfer.jar src/META-INF/MANIFEST.MF -C classes . rm -r classes ``` Das fertig verwendbare Programm liegt anschließend unter `$BILDHELFER/dist/bildhelfer.jar`. ## Bildhelfer verwenden Das Kommando zur Ausführung einer Bildverkleinerung lautet `$JDK/jre/bin/java -jar bildhelfer.jar verkleinern 640 0.7 /home/fred/bilder/eingang /home/fred/bilder/ausgang` Das obige Kommando verkleinert alle Bilder im Ordner `/home/fred/bilder/eingang` und legt die verkleinerte Fassung in den Ordner `/home/fred/bilder/ausgang`. Die Bilder werden auf 640 Bildpunkte entlang der längsten Kante verkleinert und auf 70% ihrer Qualität verringert. ## Noch bauen - Logging wahlweise über mitgelieferte logging.properties oder eine andere logging.properties (Logging Properties werden im Augenblick nur über `-Djava.util.logging.config.file` verwendet) - Resource Bundles für statische Texte - Mehrere Bilder gleichzeitig in einer wählbaren Anzahl von Threads verarbeiten