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;