# Animated Portable Network Graphics

APNG (Animated Portable Network Graphics) est une extension non officielle du format PNG, un format d’images numériques ouvert.
Le format APNG est spécialement conçu pour faire des animations graphiques pour le web. Il se positionne en concurrence avec le format de fichier d’images GIF (Graphics Interchange Format) et plus particulièrement ce que l’on appelle couramment le GIF animé.

## Historique

Le PNG a été créé par le W3C pour remplacer le GIF. Outre le fait que le GIF utilisait plusieurs brevets informatiques (le dernier brevet sur le GIF a expiré le 11 août 2006), ce format avait aussi des limitations techniques : 256 couleurs dont une peut être transparente, pas de canal alpha.
Le groupe de travail PNG a ensuite créé le format MNG (Multiple-image Network Graphics) permettant d'obtenir des animations contenant des images fixes compressées au format PNG ou JPEG dans l'esprit du format JNG, gérant 8 à 16 bits de niveaux de transparences et permettant de gérer plusieurs calques et de déplacer un objet dans le temps plutôt que d'en avoir plusieurs copies, comme dans le cas de GIF ou APNG aujourd'hui.
Plusieurs tentatives d'intégration à la suite Mozilla de MNG et JNG ont été proposées ; les premières ont été acceptées et intégrées, mais rejetées quelques années plus tard, malgré une forte demande de la communauté. Cette demande aura déjà duré 10 ans, de 1999 à 2009.
La spécification de l'APNG a été faite par Stuart Parmenter et Vladimir Vukicevic pour la Mozilla Corporation en 2004. Mozilla Firefox utilise ce format depuis sa version avancée 3 du 23 mars 2007.
Le groupe de travail PNG a officiellement rejeté l'APNG en tant qu'extension officielle le 20 avril 2007. La raison du rejet est la même raison pour laquelle le format PNG n'avait pas d'animation au départ : le PNG est un format d'image fixe simple. En outre, il faudrait que le type mime des APNG soit différent, ce qui va à l'encontre de la volonté des inventeurs de l'APNG : avoir un format qui affiche tout de même quelque chose avec les navigateurs ne supportant pas ce format.
MNG est le format officiel du W3C pour les animations. Mozilla Corporation a décidé de ne plus utiliser le format MNG, ce format étant trop lourd et la bibliothèque n'étant pas suffisamment mûre. Les développeurs de Mozilla ont exigé un gestionnaire MNG/JNG inférieur à 5 ko, le développeur du greffon a donc réduit la taille du gestionnaire MNG/JNG à 5 ko, mais il a tout de même été rejeté par la fondation Mozilla sans autres arguments.
L'avantage d'APNG est la taille réduite de la bibliothèque et sa compatibilité avec de vieilles implémentations de PNG.
Il consiste en un patch pour la bibliothèque PNG qui n'est pas intégré à celle-ci, puisqu'il n'est pas considéré comme un format valide par ses auteurs.

## Fonctionnement

Un fichier APNG est en fait un fichier PNG valide. Dans cette image PNG, l'espace des extensions de données, qui est prévu par la norme d'origine du PNG, contient les images suivantes au format PNG. Un programme utilisant une vieille bibliothèque PNG, n'a qu'à récupérer ces données supplémentaires, pour les décoder et ainsi superposer les images.
Dans un fichier APNG, la première image est un PNG normal, et peut donc être lue par la plupart des décodeurs PNG. La plupart des anciens décodeurs PNG seront capables d'afficher la première image.
Le nombre d'images par seconde ainsi que les images suivantes sont stockés dans l'espace supplémentaire comme il est spécifié dans le format PNG original.

## Support des logiciels et navigateurs Web
### Logiciels

* APNG Assembler, un web-utilitaire permettant l'assemblage d'animations APNG
* APNG Anime Maker, un petit programme permettant la création de fichiers ANPG.
* APNG Edit et Animat, deux extensions de Mozilla Firefox 3, permettent tous deux d'assembler des images afin de créer des animations APNG.
* Gif Movie Gear 4, shareware pour Windows fonctionnant sous Wine, permet de créer, d'éditer et convertir les formats APNG.
* JAPNG Edit, un petit utilitaire en Java permettant la création et l'édition d'animations APNG
* Konvertor, depuis la version 4.02 (2 mai 2010)
* KSquirrel, depuis la version 0.7.2 (3 octobre 2007)
* SVG2PNG, un programme en cours d'élaboration donc pas tout à fait stable, permet de convertir les formats SVG en PNG et d'animer ces derniers.
* XnView, depuis la version 1.92 (19 décembre 2007)
* VirtualDub APNG Mod, une modification de VirtualDub permettant de convertir un fichier .avi en animation APNG.

### Navigateurs Web

| Navigateur | Support | Version |
| Firefox | Oui | 3.0 (17 juin 2008) |
| Opera (Presto, < 13) | Oui | 9.5 (17 septembre 2008) |
| Iceweasel | Oui | 4.0~b12 (23 février 2011) |
| Chrome | Oui | 59.0.3071.86 m (5 juin 2017) |
| Opera (Blink, > 13) | Oui | 20 |
| Chromium | Oui | 67 |
| Internet Explorer | Non | 11.0 |
| Konqueror | Non | 4.6.3 |
| Safari | Oui | 8.0 |
| Maxthon | Oui | 5.0 |
| Edge | Oui | 96.0 |
| Edge Chromium | Oui | 79 |