.. image:: https://travis-ci.org/eight04/pyAPNG.svg?branch=master :target: https://travis-ci.org/eight04/pyAPNG
.. image:: https://readthedocs.org/projects/pyapng/badge/?version=latest :target: http://pyapng.readthedocs.io/en/latest/?badge=latest :alt: Documentation Status
A Python module to deal with APNG file.
Pillow <https://github.com/python-pillow/Pillow>
__ - Optional. You can still use pyAPNG without PIL but it can only read PNG files.pngcheck <http://www.libpng.org/pub/png/apps/pngcheck.html>
_From pypi <https://pypi.org/project/apng/>
__::
pip install apng
Convert a series of images into APNG animation:
.. code:: python
from apng import APNG
APNG.from_files(["1.jpg", "2.jpg", "3.jpg"], delay=100).save("result.png")
Use different delays:
.. code:: python
from apng import APNG
files = [ ("1.jpg", 100), ("2.jpg", 200), ("3.jpg", 300) ]
im = APNG() for file, delay in files: im.append_file(file, delay=delay) im.save("result.png")
Extract frames from an APNG file:
.. code:: python
from apng import APNG
im = APNG.open("animation.png") for i, (png, control) in enumerate(im.frames): png.save("{i}.png".format(i=i))
Add a text chunk to the PNG file:
.. code:: python
from apng import PNG, make_text_chunk
im = PNG.open("image.png") im.chunks.append(make_text_chunk(key="Comment", value="Some text")) im.save("image.png")
If you want to convert some large JPGs into animation, the library has to convert your JPGs into PNGs then merge them into a single animation APNG file. The problems are:
In this case, I suggest trying an animation format called "ugoira", which is implemented by Pixiv.net. There is also an image viewer named "HoneyView" which can view it locally.
http://pyapng.readthedocs.io/en/latest/
0.3.4 (Mar 11, 2020)
0.3.3 (Feb 11, 2019)
fdAT
chunks.0.3.2 (Jul 20, 2018)
make_text_chunk
function.Chunk
data class.parse_chunks
yields Chunk
instead of a tuple. This should be safe since Chunk
is a namedtuple.0.3.1 (May 13, 2018)
0.3.0 (May 13, 2018)
open_any
, from_bytes
.append_file
, from_bytes
.parse_chunks
.is_png
and chunks
.PNG.open
now only reads PNG images. To read non-PNG images, use PNG.open_any
.APNG.append
now only accepts PNG
instance. To append PNG files, use APNG.append_file
.0.2.1 (Apr 19, 2018)
#4 <https://github.com/eight04/pyAPNG/issues/4>
)0.2.0 (Dec 8, 2017)
#1 <https://github.com/eight04/pyAPNG/issues/1>
_)#2 <https://github.com/eight04/pyAPNG/pull/2>
)0.1.0 (May 30, 2016)