Verschiedene Groovy Skripte
ulrich
2018-01-14 5c858db2917d787fc61f4a47ccc991af1d248085
Erlaeuterungen zu kleiner.sh erweitert; Qualitaet bei der Bilderausgabe hinzugefuegt
2 files modified
32 ■■■■■ changed files
src/bilder.groovy 22 ●●●●● patch | view | raw | blame | history
src/kleiner.sh 10 ●●●●● patch | view | raw | blame | history
src/bilder.groovy
@@ -14,6 +14,10 @@
import java.net.FileNameMap;
import java.net.URLConnection;
import javax.imageio.ImageIO;
import javax.imageio.ImageWriter;
import javax.imageio.ImageWriteParam;
import javax.imageio.stream.FileImageOutputStream;
import javax.imageio.IIOImage;
import java.lang.Integer;
/*
@@ -46,7 +50,7 @@
      mediaTracker.waitForID(0);
      if (!mediaTracker.isErrorAny()) {
        int quality = Integer.parseInt(args[1]);
        float quality = Float.parseFloat(args[1]);
        float factor = (float) 0.0;
        BufferedImage thumbImage;
@@ -123,7 +127,21 @@
          imgType = "jpg";
        }
        ImageIO.write(thumbImage, imgType, outFile);
        //ImageIO.write(thumbImage, imgType, outFile);
                /* 14.1.2018 Beginn */
                //File outfile =new File(“/opt/images/modified.jpg”);
        ImageWriter writer = ImageIO.getImageWritersByFormatName(imgType).next();
        //ImageWriter writer = iter.next();
        ImageWriteParam iwp = writer.getDefaultWriteParam();
        iwp.setCompressionMode(ImageWriteParam.MODE_EXPLICIT);
        iwp.setCompressionQuality(quality);
        writer.setOutput(new FileImageOutputStream(outFile));
        writer.write(null, new IIOImage(thumbImage, null, null),iwp);
        writer.dispose();
                /* 14.1.2018 Ende */
      }
    } catch (InterruptedException ex) {
      System.out.println("Error: " + ex.getLocalizedMessage());
src/kleiner.sh
@@ -20,5 +20,15 @@
# Der Aufruf mit den im Beispiel oben angegebenen Parametern bewirkt, dass alle
# Bilddateien in /scripts/in auf eine Laenge von 1.200 Bildpunkten entlang
# der laengsten Kante verkleinert und in /scripts/out abgelegt werden.
#
# Die Option -v im docker run Kommando verbindet einen Ablageort mit einem
# Ordnernamen nach dem Schema [Ablageort]:[Ordnername]
#
# Die Option -w setzt das Arbeitsverzeichnis auf einen Ordner
#
# Die Kombination aus -v und -w im Kommando unten tut so, als gaebe es im
# Docker-Container einen Ordner /scripts der auf das Arbeitsverezichnis der
# lokalen Maschine verwaist, auf der Docker laeuft. Dieses Verzeichnis wird
# dann das Arbeitsverzeichnis fuer den Docker-Container
docker run --rm -v "$PWD":/scripts -w /scripts --name groovy groovy:alpine groovy bilder.groovy $1 $2 $3 $4