APNGb

macOS app which assembles and disassembles animated png files

Stars
297
Forks
24
Open issues
5
Closed issues
5
Last release
over 6 years ago
Last commit
over 4 years ago
Watchers
297
Total releases
3
Total commits
136
Open PRs
0
Closed PRs
2
Repo URL
Platform
Mac
License
other
Category
Offers premium version?
NO
Proprietary?
NO
About

Over 11k downloads* 🎉

APNGb 2.0.1 (Download)

APNGb is a macOS app which creates animated png from a series of png frames and disassembles animated png into a series of png frames. Assembling has optimization and compression capabilities, option to change frame delay for all or selected frames, playback options. See Assembling feature and Disassembling feature sections for more details. App supports macOS 10.11 and above.

It's built on the top of 2 executables created by Max Stepin: APNG Assembler and APNG Disassembler. Big credits to Max!

What is apng ?

The Animated Portable Network Graphics (APNG) file format is an extension to the Portable Network Graphics (PNG) specification. It allows for animated PNG files that work similarly to animated GIF files, while supporting 24-bit images and 8-bit transparency not available for GIFs. It also retains backward compatibility with non-animated PNG files.

Why apng is better than gif ?

Both GIF and APNG are lossless, but APNG tend to be smaller in size and provides better image quality (color, transparency). APNG is supported by web-browsers like Safari (both macOS and iOS), Firefox (desktop and Android), Chrome (add-ons), Opera (v12 and earlier).

Take a look at below examples:

APNG = 30 823 bytes

GIF = 43 132 bytes

Assembling feature

Creates an animated apng/png from a series of png images.

A number of optimization techniques used to make APNG files as small as possible: inter-frame optimization utilizing alpha-blend and dispose operations, smaller than the full-size subframes, dirty transparency, color type and palette optimizations, and various compression options: zlib, 7zip, Zopfli.

Disassembling feature

Breaks an apng/png file into a series of png images.

Decoding is implemented by parsing all chunks in the APNG file, remuxing them into a sequence of static PNG images, as shown in the diagram below, and then using regular (unpatched) libpng to decode them. Then, after processing blend/dispose operations, we finally get a vector of full-size frames in 32 bpp as the result.

Few app screenshots

License

  • MIT License, Copyright (c) 2019 Stefan Godoroja.
  • APNG Assembler and APNG Disassembler are released under zlib/libpng license. More details

Notes

* Based on Sourceforge and Github Stats.

Alternative Projects

Subscribe to Open Source Businees Newsletter

Twice a month we will interview people behind open source businesses. We will talk about how they are building a business on top of open source projects.

We'll never share your email with anyone else.