WebP - Use lossless version where applicable

This commit is contained in:
Jindra Petřík
2025-09-06 16:15:52 +02:00
parent e58df81afa
commit 5d8d753c37
10 changed files with 12 additions and 6 deletions

Binary file not shown.

BIN
lib/webp4j-1.2.0.jar Normal file

Binary file not shown.

Binary file not shown.

View File

@@ -242,7 +242,7 @@ auxiliary.show.customizer.message=<message>
<java-data xmlns="http://www.netbeans.org/ns/freeform-project-java/4">
<compilation-unit>
<package-root>src</package-root>
<classpath mode="compile">../../src;lib/LZMA.jar;lib/avi.jar;lib/cmykjpeg.jar;lib/ddsreader.jar;lib/gif.jar;lib/gnujpdf.jar;lib/jlayer-1.0.2.jar;lib/jpacker.jar;lib/nellymoser.jar;lib/sfntly.jar;lib/tga.jar;lib/ttf.jar;lib/vlcj-4.7.3.jar;lib/vlcj-natives-4.7.0.jar;lib/flashdebugger.jar;lib/jna-3.5.1.jar;lib/jna-platform-3.5.1.jar;lib/gifreader.jar;lib/miterstroke.jar;lib/decimal.jar;lib/flacomdoc.jar;lib/tomlj-1.1.1.jar;lib/decimal.jar;lib/webp4j-1.1.0.jar</classpath>
<classpath mode="compile">../../src;lib/LZMA.jar;lib/avi.jar;lib/cmykjpeg.jar;lib/ddsreader.jar;lib/gif.jar;lib/gnujpdf.jar;lib/jlayer-1.0.2.jar;lib/jpacker.jar;lib/nellymoser.jar;lib/sfntly.jar;lib/tga.jar;lib/ttf.jar;lib/vlcj-4.7.3.jar;lib/vlcj-natives-4.7.0.jar;lib/flashdebugger.jar;lib/jna-3.5.1.jar;lib/jna-platform-3.5.1.jar;lib/gifreader.jar;lib/miterstroke.jar;lib/decimal.jar;lib/flacomdoc.jar;lib/tomlj-1.1.1.jar;lib/decimal.jar;lib/webp4j-1.2.0.jar</classpath>
<built-to>build</built-to>
<built-to>reports</built-to>
<built-to>dist</built-to>

View File

@@ -566,7 +566,7 @@ public class FrameExporter {
BufferedImage img = frameImages.next();
if (img != null) {
try (FileOutputStream fos = new FileOutputStream(f)) {
fos.write(WebPCodec.encodeImage(img, 100f));
fos.write(WebPCodec.encodeLosslessImage(img));
}
}
ret.add(f);

View File

@@ -129,7 +129,13 @@ public class ImageExporter {
BMPFile.saveBitmap(imageTag.getImageCached().getBufferedImage(), file);
} else if (ffileFormat == ImageFormat.WEBP) {
try (OutputStream fos = new BufferedOutputStream(new FileOutputStream(file))) {
fos.write(WebPCodec.encodeImage(imageTag.getImageCached().getBufferedImage(), 100f));
byte[] webPData;
if (originalFormat == ImageFormat.PNG || originalFormat == ImageFormat.GIF) {
webPData = WebPCodec.encodeLosslessImage(imageTag.getImageCached().getBufferedImage());
} else {
webPData = WebPCodec.encodeImage(imageTag.getImageCached().getBufferedImage(), 100f);
}
fos.write(webPData);
}
} else {
ImageHelper.write(imageTag.getImageCached().getBufferedImage(), ffileFormat, file);

View File

@@ -209,7 +209,7 @@ public class MorphShapeExporter {
ImageHelper.write(img.getBufferedImage(), ImageFormat.PNG, fileEnd);
} else if (settings.mode == MorphShapeExportMode.WEBP_START_END) {
try (FileOutputStream fos = new FileOutputStream(fileEnd)) {
fos.write(WebPCodec.encodeImage(img.getBufferedImage(), 100f));
fos.write(WebPCodec.encodeLosslessImage(img.getBufferedImage()));
}
} else {
BMPFile.saveBitmap(img.getBufferedImage(), fileEnd);

View File

@@ -141,7 +141,7 @@ public class ShapeExporter {
ImageHelper.write(img.getBufferedImage(), ImageFormat.PNG, file);
} else if (settings.mode == ShapeExportMode.WEBP) {
try (FileOutputStream fos = new FileOutputStream(file)) {
fos.write(WebPCodec.encodeImage(img.getBufferedImage(), 100f));
fos.write(WebPCodec.encodeLosslessImage(img.getBufferedImage()));
}
} else {
BMPFile.saveBitmap(img.getBufferedImage(), file);

View File

@@ -329,7 +329,7 @@
<java-data xmlns="http://www.netbeans.org/ns/freeform-project-java/4">
<compilation-unit>
<package-root>src</package-root>
<classpath mode="compile">lib/jpproxy.jar;lib/trident-6.2.jar;lib/substance-flamingo-6.2.jar;lib/flamingo-6.2.jar;lib/substance-fix.jar;lib/substance-6.2.jar;libsrc/ffdec_lib/src;lib/tablelayout.jar;lib/jsyntaxpane-0.9.5.jar;lib/JavactiveX.jar;lib/flashdebugger.jar;lib/treetable.jar;lib/minimal-json-0.9.5.jar;libsrc/ffdec_lib/lib/gnujpdf.jar;libsrc/ffdec_lib/lib/jna-3.5.1.jar;libsrc/ffdec_lib/lib/jna-platform-3.5.1.jar;libsrc/ffdec_lib/lib/flashdebugger.jar;lib/gifreader.jar;lib/jansi-2.4.0.jar;lib/decimal.jar;lib/webp4j-1.1.0.jar</classpath>
<classpath mode="compile">lib/jpproxy.jar;lib/trident-6.2.jar;lib/substance-flamingo-6.2.jar;lib/flamingo-6.2.jar;lib/substance-fix.jar;lib/substance-6.2.jar;libsrc/ffdec_lib/src;lib/tablelayout.jar;lib/jsyntaxpane-0.9.5.jar;lib/JavactiveX.jar;lib/flashdebugger.jar;lib/treetable.jar;lib/minimal-json-0.9.5.jar;libsrc/ffdec_lib/lib/gnujpdf.jar;libsrc/ffdec_lib/lib/jna-3.5.1.jar;libsrc/ffdec_lib/lib/jna-platform-3.5.1.jar;libsrc/ffdec_lib/lib/flashdebugger.jar;lib/gifreader.jar;lib/jansi-2.4.0.jar;lib/decimal.jar;lib/webp4j-1.2.0.jar</classpath>
<built-to>build</built-to>
<built-to>javadoc</built-to>
<built-to>reports</built-to>