ulrich
2022-02-11 9976d833227e6d1d25559de2bae56f5f3cf78150
readme.md
@@ -5,45 +5,27 @@
## 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.
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.
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.
Ferner wird angenommen,
dass die oben aufgeführten Klassenbibliotheken lokal an Orten abgelegt sind,
deren Pfade mit dem Platzhalter `$JLIB` gemeint ist. Anstelle des Platzhalters
muss in den folgenden Kommandos also der absolute Pfad des lokalen Ablageortes
eingesetzt werden.
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):
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
$JDK/bin/javac -d classes src/de/uhilger/bildhelfer/*.java
cp src/* classes
$JDK/jar -cfm dist/bildhelfer.jar src/META-INF/MANIFEST.MF -C classes .
$JDK/bin/jar -cfm dist/bildhelfer.jar src/META-INF/MANIFEST.MF -C classes .
rm -r classes
```
@@ -53,6 +35,21 @@
## 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 Bilddateien mit der Endung jpeg, jpg oder png 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.
Mit dem Kommando
`$JDK/jre/bin/java -jar bildhelfer.jar stapel 640 0.7 /home/fred/bilder/eingang /home/fred/bilder/ausgang`
werden Bilddateien in allen Unterordnern des Eingangsordners verarbeitet. Im Ausgangsordner wird dabei dieselbe Struktur aus Unterorndern erzeugt.
## 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