Portable Network Graphic | |
---|---|
Extension | .png |
Type MIME | image/png |
Développé par | W3C |
Type de format | format d’image matriciel sans perte |
Standard(s) | ISO 15948, W3C, IETF RFC 2083 |
Spécification | Format ouvert |
modifier |
Le Portable Network Graphics (PNG) est un format ouvert d’images numériques, qui a été créé pour remplacer le format GIF, à l’époque propriétaire et dont la compression était soumise à un brevet. Le PNG est un format non destructeur spécialement adapté pour publier des images simples comprenant des aplats de couleurs.
Il a été normalisé par l’ISO (ISO/CEI 15948:2004).
PNG est une spécification pour Internet et l’objet d’une Recommandation W3C et d’une RFC. Il a été créé pour contourner la licence existante sur le format GIF, le plus en vogue à la fin des années 1990, CompuServe refusant de laisser utiliser son format gratuitement. PNG a alors été défini mais en augmentant les capacités de GIF.
PNG est particulièrement approprié lorsqu’il s’agit d’enregistrer des images synthétiques destinées au Web comme des graphiques, des icônes, des images représentant du texte (bonne conservation de la lisibilité), ou des images avec des dégradés. Le PNG surpasse régulièrement le format GIF en ce qui concerne la taille (avec une palette de couleurs bien choisie) ou la qualité (puisqu’il n’est pas limité à 256 couleurs).
Les caractéristiques de PNG lui permettent d’enregistrer des photographies sans perte de données, mais au détriment de la taille du fichier résultant qui reste la plupart du temps très supérieure à celle de formats spécifiques aux photographies comme JPEG (ou JPEG 2000).
PNG permet principalement d’enregistrer les images matricielles sous différents formats :
Après l’application d’un filtre prédictif qui permet généralement d’obtenir de plus hauts niveaux de compression, le tout est compressé sans pertes suivant l’algorithme deflate (RFC 1951), généralement avec zlib.
Les composantes des pixels ou les entrées de palette sont données soit au format RVB (rouge, vert, bleu), soit au format RVBA (avec un canal alpha supplémentaire pour la translucidité). Dans ce cas, 8 ou 16 bits supplémentaires sont utilisés par pixel ou par entrée de palette, ce qui fait 16 bits pour une image en niveaux de gris, 32 bits pour une image en couleurs vraies et 64 bits pour une image en 4 canaux de 16 bits chacun.
La présence d’un canal alpha définissant différents niveaux de transparence le rend idéal pour la composition sur les pages web. Cette caractéristique est bien implémentée par la majorité des navigateurs web actuels. Internet Explorer 6, qui encore très répandu, ne gère pas la transparence : il existe cependant des astuces pour les webmestres désirant contourner cette limitation. Internet Explorer 7 et supérieur gèrent correctement le canal alpha.
Lorsque l’image PNG utilise une palette de 256 couleurs maximum, il est possible d’utiliser une des couleurs pour la transparence.
C’est le même comportement qu’avec le format GIF et cela fonctionne même avec Internet Explorer 6. Par conséquent, les images Web au format GIF peuvent être converties en cette version de PNG sans crainte d’incompatibilité avec la majorité des navigateurs web actuels (premier trimestre 2006), et sans souci de brevet (le brevet GIF est néanmoins tombé en 2006 dans le domaine public).
Le PNG, d’ailleurs parfois appelé par récursivité PNG’s Not GIF (PNG n’est pas GIF), peut faire tout ce que le format GIF peut faire et même plus, comme la translucidité. Il n’a cependant pas été prévu pour faire des images animées, mais le format dérivé MNG a été créé par ses auteurs à cet effet (voir également le format APNG).
Aussi, les deux formats peuvent être entrelacés, mais PNG utilise l'algorithme Adam7 tandis que GIF affiche dans ce cas l'image ligne par ligne.