PNGJ


License

License

GroupId

GroupId

com.alexdupre
ArtifactId

ArtifactId

pngj
Last Version

Last Version

2.1.2.1
Release Date

Release Date

Type

Type

jar
Description

Description

PNGJ
PNGJ
Project URL

Project URL

https://github.com/alexdupre/pngj
Project Organization

Project Organization

com.alexdupre
Source Code Management

Source Code Management

https://github.com/alexdupre/pngj

Download pngj

How to add to project

<!-- https://jarcasting.com/artifacts/com.alexdupre/pngj/ -->
<dependency>
    <groupId>com.alexdupre</groupId>
    <artifactId>pngj</artifactId>
    <version>2.1.2.1</version>
</dependency>
// https://jarcasting.com/artifacts/com.alexdupre/pngj/
implementation 'com.alexdupre:pngj:2.1.2.1'
// https://jarcasting.com/artifacts/com.alexdupre/pngj/
implementation ("com.alexdupre:pngj:2.1.2.1")
'com.alexdupre:pngj:jar:2.1.2.1'
<dependency org="com.alexdupre" name="pngj" rev="2.1.2.1">
  <artifact name="pngj" type="jar" />
</dependency>
@Grapes(
@Grab(group='com.alexdupre', module='pngj', version='2.1.2.1')
)
libraryDependencies += "com.alexdupre" % "pngj" % "2.1.2.1"
[com.alexdupre/pngj "2.1.2.1"]

Dependencies

compile (1)

Group / Artifact Type Version
org.slf4j : slf4j-api jar 1.7.30

test (2)

Group / Artifact Type Version
ch.qos.logback : logback-classic jar 1.2.3
com.novocode : junit-interface jar 0.11

Project Modules

There are no modules declared in this project.

PNGJ: Java library for PNG encoding

PNGJ is a pure Java library for high performance reading and writing of PNG images


Downloads

You can download the latest release from here http://hjg.com.ar/pngj/ or use the Maven Central repository

Main features

  • Very efficient in memory usage and speed
  • Pure Java (8 or greater)
  • Small and self contained. No dependencies on third party libraries, nor even on java.awt.* or javax.imageio.*
  • Runs on Android and GAE (Google App Engine)
  • Allows to read and write progressively, row by row. This means that you can process huge images without needing to load them fully in memory.
  • Reads and writes all PNG color models. Interlaced PNG is supported (though not welcomed) for reading.
  • Full support for metadata handling ("chunks").
  • The format of the pixel data (for read and write) is extensible and efficient (no double copies).
  • Supports asyncronous reading and low level tweaking and extension in the reader.
  • Basic support for APNG reading
  • Open source (Apache licence). Available in Maven Central repository.

What is this for?

This is a relatively low level library, its goal is to code and decode PNG images from/to raw pixels, optimizing memory usage and speed. It does not provide any high-level image processing (eg, resizing, colour conversions), it does not try to abstract the concrete PNG color model (as BufferedImage does, for example). In particular, the default format of the scanlines (as wrapped in ImageLineInt or ImageLineByte) is not abstract, the meaning of the values depends on the image color model and bitdepth.

More documentation

Versions

Version
2.1.2.1
2.1.2