All Projects → depsypher → Pngtastic

depsypher / Pngtastic

Licence: mit
A pure Java PNG image optimization and manipulation library

Programming Languages

java
68154 projects - #9 most used programming language

Projects that are alternatives of or similar to Pngtastic

Crunch
Crunch is a tool for lossy PNG image file optimization. It combines selective bit depth, color type, and color palette reduction with zopfli DEFLATE compression algorithm encoding using the pngquant and zopflipng PNG optimization tools. This approach leads to a significant file size gain relative to lossless approaches at the expense of a relatively modest decrease in image quality (see example images below).
Stars: ✭ 3,074 (+1833.33%)
Mutual labels:  image-processing, compression
Essential Image Optimization
Essential Image Optimization - an eBook
Stars: ✭ 1,950 (+1126.42%)
Mutual labels:  image-processing, compression
Imager
Automated image compression for efficiently distributing images on the web.
Stars: ✭ 266 (+67.3%)
Mutual labels:  image-processing, compression
Tinify Nodejs
Node.js client for the Tinify API.
Stars: ✭ 299 (+88.05%)
Mutual labels:  image-processing, compression
Flyimg
Dockerized PHP7 application runs as a Microservice to resize and crop images on the fly. Get optimised images with MozJPEG, WebP or PNG using ImageMagick. Includes face detection, cropping, face blurring, image rotation and many other options. Abstract storage based on FlySystem in order to store images on any provider (local, AWS S3...).
Stars: ✭ 762 (+379.25%)
Mutual labels:  image-processing, compression
Imgsquash
Simple image compression full website code written in node, react and next.js framework. Easy to deploy as a microservice.
Stars: ✭ 948 (+496.23%)
Mutual labels:  image-processing, compression
Image Actions
A Github Action that automatically compresses JPEGs, PNGs and WebPs in Pull Requests.
Stars: ✭ 844 (+430.82%)
Mutual labels:  image-processing, compression
Lerc
Limited Error Raster Compression
Stars: ✭ 126 (-20.75%)
Mutual labels:  image-processing, compression
Acl Ue4 Plugin
The official Animation Compression Library Unreal Engine 4 plugin
Stars: ✭ 156 (-1.89%)
Mutual labels:  compression
Cyberchef
The Cyber Swiss Army Knife - a web app for encryption, encoding, compression and data analysis
Stars: ✭ 13,674 (+8500%)
Mutual labels:  compression
Similarimagehunter
Mac 上寻找相似内容的图片工具
Stars: ✭ 155 (-2.52%)
Mutual labels:  image-processing
Texture Compressor
CLI tool for texture compression using ASTC, ETC, PVRTC and S3TC in a KTX container.
Stars: ✭ 156 (-1.89%)
Mutual labels:  compression
Smartcrop.js
Content aware image cropping
Stars: ✭ 12,345 (+7664.15%)
Mutual labels:  image-processing
Mesh Flow Video Stabilization
Online video stabilization using a novel MeshFlow motion model
Stars: ✭ 154 (-3.14%)
Mutual labels:  image-processing
Gan Mri
Code repository for Frontiers article 'Generative Adversarial Networks for Image-to-Image Translation on Multi-Contrast MR Images - A Comparison of CycleGAN and UNIT'
Stars: ✭ 159 (+0%)
Mutual labels:  image-processing
Gpuimage X
A Cross-platform (for both Android & iOS) Framework for GPU-based Filters, Video and Image Processing.
Stars: ✭ 154 (-3.14%)
Mutual labels:  image-processing
Fall Detection
Human Fall Detection from CCTV camera feed
Stars: ✭ 154 (-3.14%)
Mutual labels:  image-processing
Zstd Rs
A rust binding for the zstd compression library.
Stars: ✭ 159 (+0%)
Mutual labels:  compression
Deblurgan
Image Deblurring using Generative Adversarial Networks
Stars: ✭ 2,033 (+1178.62%)
Mutual labels:  image-processing
Low Light Image Enhancement Resources
This is a resouce list for low light image enhancement
Stars: ✭ 155 (-2.52%)
Mutual labels:  image-processing

Pngtastic

A pure Java API for dealing with PNG images

Pngtastic is PNG for Java. Just one small jar with no dependencies. It doesn't rely on AWT, so it can be used in restrictive environments like Google App Engine (and probably Android, but haven't tried).

The currently supported operations are:

  • File size optimization
  • PNG image layering

Available in Maven

<dependency>
    <groupId>com.github.depsypher</groupId>
    <artifactId>pngtastic</artifactId>
    <version>1.5</version>
</dependency>

New: Support for Zopfli compression! (Not recommended for production: See Issue #7)

The latest code adds the ability to optimize png images using the new zopfli deflate compression algorithm. The java port is based heavily on this.

If you're willing to sacrifice compression speed in exchange for ridiculously good compression ratios, you'll want to try using the optional zopfli compressor.

Example usage:

$ mvn install
$ java -cp target/pngtastic-1.6-SNAPSHOT.jar com.googlecode.pngtastic.PngtasticOptimizer --compressor zopfli --iterations 32 --fileSuffix .min.png images/optimizer/amigaball.png

So far I'm seeing better compression ratios for my test images than even the excellent ImageOptim app produces.

Here's a taste (ordered from worst to best compression):

Pngtastic Default Compression
[pngtastic] 59.76% :   169B ->    68B (  101B saved) - build/images/optimizer/1px.png
[pngtastic]  5.99% : 35731B -> 33590B ( 2141B saved) - build/images/optimizer/amigaball.png
[pngtastic]  0.01% :251938B ->251922B (   16B saved) - build/images/optimizer/frymire.png
[pngtastic] 22.37% : 93167B -> 72322B (20845B saved) - build/images/optimizer/gamma.png

ImageOptim Compression
[ImageOptim] 59.8% :   169B ->    73B - build/images/optimizer/1px.png
[ImageOptim]  11.2% : 35731B -> 31729B - build/images/optimizer/amigaball.png
[ImageOptim]  8.7% :251938B ->230055B - build/images/optimizer/frymire.png
[ImageOptim] 28.5% : 93167B -> 66607B - build/images/optimizer/gamma.png

Pngtastic Zopfli Compression
[pngtastic] 61.54% :   169B ->    65B (  104B saved) - build/images/optimizer/1px.png
[pngtastic] 12.21% : 35731B -> 31370B ( 4361B saved) - build/images/optimizer/amigaball.png
[pngtastic] 10.40% :251938B ->225749B (26189B saved) - build/images/optimizer/frymire.png
[pngtastic] 29.27% : 93167B -> 65895B (27272B saved) - build/images/optimizer/gamma.png
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].