PNG permet principalement d’enregistrer les images matricielles sous différents formats :
- 1 bit donc monochrome (mais pas forcément noir et blanc)
- 2 bits pour les images en quadrichromie
- 4 bits permettant de choisir parmi une palette de maximum 16 couleurs contenues dans le fichier
- 8 bits en niveaux de gris (256 niveaux)
- 8 bits permettant de choisir parmi une palette de maximum 256 couleurs contenues dans le fichier (équivalent au format GIF)
- 24 bits en 16 777 216 (couleurs vraies)
- 32 bits, soit 2 ou 4 294 967 296 couleurs.
- 48 bits, soit 2 ou 281 474 976 710 656 couleurs.
Voir l’article Image numérique pour l’explication de ces notions.
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 translucidité
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.
La transparence
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).
Autres comparaisons avec GIF
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.