JDK9 PNG Writer Backport

A backport of the PNG writer performance enhancements implemented in JDK-6488522.

License

License

Categories

Categories

Net
GroupId

GroupId

net.gredler
ArtifactId

ArtifactId

jdk9-png-writer-backport
Last Version

Last Version

1.0.0
Release Date

Release Date

Type

Type

jar
Description

Description

JDK9 PNG Writer Backport
A backport of the PNG writer performance enhancements implemented in JDK-6488522.
Project URL

Project URL

https://github.com/gredler/jdk9-png-writer-backport
Source Code Management

Source Code Management

https://github.com/gredler/jdk9-png-writer-backport

Download jdk9-png-writer-backport

How to add to project

<!-- https://jarcasting.com/artifacts/net.gredler/jdk9-png-writer-backport/ -->
<dependency>
    <groupId>net.gredler</groupId>
    <artifactId>jdk9-png-writer-backport</artifactId>
    <version>1.0.0</version>
</dependency>
// https://jarcasting.com/artifacts/net.gredler/jdk9-png-writer-backport/
implementation 'net.gredler:jdk9-png-writer-backport:1.0.0'
// https://jarcasting.com/artifacts/net.gredler/jdk9-png-writer-backport/
implementation ("net.gredler:jdk9-png-writer-backport:1.0.0")
'net.gredler:jdk9-png-writer-backport:jar:1.0.0'
<dependency org="net.gredler" name="jdk9-png-writer-backport" rev="1.0.0">
  <artifact name="jdk9-png-writer-backport" type="jar" />
</dependency>
@Grapes(
@Grab(group='net.gredler', module='jdk9-png-writer-backport', version='1.0.0')
)
libraryDependencies += "net.gredler" % "jdk9-png-writer-backport" % "1.0.0"
[net.gredler/jdk9-png-writer-backport "1.0.0"]

Dependencies

test (1)

Group / Artifact Type Version
junit : junit jar 4.12

Project Modules

There are no modules declared in this project.

JDK9 PNG Writer Backport License Maven Central

This is a backport of the standard ImageIO PNG writer available in Java 9, which includes a very important configurability and performance enhancement. This library can be used on both Java 7 and Java 8.

Prior to Java 9, the ZLIB deflater used internally by PNGImageWriter always used the BEST_COMPRESSION compression level, which tries to achieve optimal file sizes regardless of the performance penalty. This behavior was not configurable.

In Java 9, the ZLIB deflater used by PNGImageWriter uses a more sane compression level default (4), and allows the compression level to be customized with the standard ImageWriteParam compression attributes.

This library contains and automatically registers this improved PNG writer with the ImageIO system, directing the ImageIO service registry to prioritize it over the built-in standard PNG writer.

Many thanks to Laurent Bourgès for implementing this Java 9 enhancement to begin with.

###Building

gradlew check: Compiles and runs all quality checks, including the unit tests.
gradlew jar: Builds the JAR file.
gradlew uploadArchives: Deploys to Maven Central (requires a modified gradle.properties file).

Versions

Version
1.0.0