diff --git a/pom.xml b/pom.xml index 1a10827..b699863 100644 --- a/pom.xml +++ b/pom.xml @@ -6,7 +6,7 @@ com.simtechdata MacIcns - 1.3.3 + 1.3.4 jar @@ -42,16 +42,16 @@ javafx-swing ${javafx.version} - - org.imgscalr - imgscalr-lib - 4.2 - commons-io commons-io 2.15.1 + + org.glavo + simple-png-javafx + 0.2.0 + com.simtechdata JavaProc diff --git a/src/main/java/com/simtechdata/ProcessFile.java b/src/main/java/com/simtechdata/ProcessFile.java index a232592..4eb1b40 100644 --- a/src/main/java/com/simtechdata/ProcessFile.java +++ b/src/main/java/com/simtechdata/ProcessFile.java @@ -1,13 +1,12 @@ package com.simtechdata; -import javafx.embed.swing.SwingFXUtils; import javafx.scene.image.Image; import javafx.scene.image.WritableImage; import javafx.scene.paint.Color; import org.apache.commons.io.FileUtils; import org.apache.commons.io.FilenameUtils; +import org.glavo.png.javafx.PNGJavaFXUtils; -import javax.imageio.ImageIO; import java.io.File; import java.io.IOException; import java.nio.file.Path; @@ -133,14 +132,15 @@ public Job(Image original, Path path, int size) { this.size = size; } + public static WritableImage lastImage; private final Image original; private final Path path; private final int size; + private int lastSize = 0; public void saveFile() { try { - WritableImage finalImage = getImage(); - ImageIO.write(SwingFXUtils.fromFXImage(finalImage, null), "PNG", path.toFile()); + PNGJavaFXUtils.writeImage(getImage(), path); } catch (IOException e) { throw new RuntimeException(e); } @@ -148,7 +148,22 @@ public void saveFile() { private WritableImage getImage() { try { - return resizeImage(original, size, size); + WritableImage writableImage; + if(lastImage == null) { + writableImage = resizeImage(original, size, size); + lastImage = writableImage; + lastSize = size; + } + else { + if(size == lastSize) { + writableImage = lastImage; + } + else { + writableImage = resizeImage(lastImage, size, size); + lastSize = size; + } + } + return writableImage; } catch (Exception e) { throw new RuntimeException(e); } diff --git a/src/main/java/com/simtechdata/Run.java b/src/main/java/com/simtechdata/Run.java index adf69cf..35189ea 100644 --- a/src/main/java/com/simtechdata/Run.java +++ b/src/main/java/com/simtechdata/Run.java @@ -23,7 +23,6 @@ public int run() { .withNoTimeout() .ignoreExitStatus() .run(); - System.out.println(result.getCommandLine()); return result.getExitValue(); } } diff --git a/src/main/java/com/simtechdata/utils/Shell.java b/src/main/java/com/simtechdata/utils/Shell.java index 981f2ad..89a9dda 100644 --- a/src/main/java/com/simtechdata/utils/Shell.java +++ b/src/main/java/com/simtechdata/utils/Shell.java @@ -11,7 +11,6 @@ public static int run(String command, String[] args) { .withNoTimeout() .ignoreExitStatus() .run(); - System.out.println(r.getCommandLine()); return r.getExitValue(); } } diff --git a/src/main/java/module-info.java b/src/main/java/module-info.java index 2d5b9f2..17a7a5e 100644 --- a/src/main/java/module-info.java +++ b/src/main/java/module-info.java @@ -3,7 +3,7 @@ requires javafx.swing; requires java.desktop; requires org.apache.commons.io; - requires imgscalr.lib; + requires org.glavo.png.javafx; requires java.prefs; requires JavaProc;