PNG ist ein Grafikformat für Rastergrafiken mit verlustfreier Datenkompression und das meistverwendete im Internet. Hier erfahren Sie mehr über die technischen Merkmale dieses Formats.
Das PNG-Format (Portable Network Graphics, auch Ping-Format) ist ein Bitmap-Grafikdateiformat (raster). Es wurde 1995 als freie Alternative zum GIF-Format entwickelt, ein Benutzerformat, dessen Rechte die Firma Unisys innehat (Eigentümer des LZW-Komprimierungsalgorithmus). Dies verpflichtet jeden Software-Herausgeber, der diesen Formattyp bearbeitet, eine Gebühr an Unisys zu entrichten. So ist PNG auch ein rekursives Akronym für PNG's Not Gif.
Das PNG-Format ermöglicht die Speicherung von Schwarz-Weiß-Bildern (bis zu 16 Bits pro Pixel der Kodierungstiefe), von Bildern mit echten Farben (true color bis zu 48 Bits pro Pixel der Kodierungstiefe) sowie von indexierten Bilder, die eine Palette von 256 Farben benutzen.
Des Weiteren unterstützt es die Transparenz pro Alpha-Schicht, das heißt die Möglichtkeit, 256 Transparenzstufen zu bestimmen. Beim GIF-Format kann nur eine einzige Farbe der Palette als transparent bestimmt werden. Das PNG-Format hat ausßerdem eine Verschachtelungsfunktion, die die schrittweise Anzeige des Bildes ermöglicht.
Die durch dieses Format angebotene Komprimierung ist eine Komprimierung ohne Verlust (lossless compression), die zu fünf bis 25 Prozent besser ist als die GIF-Komprimierung.
Letztlich lädt PNG Informationen über das Bildgamma, was eine Gamma-Korrektur und Unabhängigkeit gegenüber den Anzeigegeräten ermöglicht. Fehlerkorrektur-Mechanismen werden ebenfalls in die Datei geladen, um ihre Unversehrtheit sicherzustellen.
Eine PNG-Datei besteht aus einer Unterschrift, mit der anzeigt werden kann, dass es sich um eine PNG-Datei handelt, und aus einer Reihe von Elementen, die sich chunks nennen (Segmente). Die Kennzeichnung einer PNG-Datei (in dezimaler Form) ist wie folgt:
137 80 78 71 13 10 26 10
Dieselbe Kennzeichnung in hexadezimaler Form lautet:
89 50 4E 47 0D 0A 1A 0A
Jedes Segment besteht aus vier Teilen:
Größe, eine nicht gezeichnete Ganzzahl von vier Bytes, die die Größe des Segments beschreibt;
Segmenttyp (chunk type), ein Code mit vier Zeichen (vier Bytes) bestehend aus alphanumerischen ASCII-Zeichen (A-Z, a-z, 65 bis 90 und 97 bis 122), der die Bezeichnung des Segmenttyps ermöglicht;
Daten des Segments (chunk data);
CRC (cyclic redundancy check), einem Korrekturcode von vier Bytes, der die Überprüfung der Unversehrtheit des Segments ermöglicht.
Die Segmente können in jeglicher Reihenfolge vorhanden sein, wenn sie nicht mit dem Segment des Kopfes beginnen (IHDR chunk) und mit dem Endsegment enden müssen (IEND chunk).
Die Hauptsegmente (critical chunks) sind:
IHDR (Image header)
PLTE (Palette)
IDAT (Image data)
IEND (Image trailer)
Die andere Segmente (ancillary chunks) sind folgende:
bKGD (Background color)
cHRM (Primary chromaticities and white point)
gAMA (Image gamma)
hIST (Image histogram)
pHYs (Physical pixel dimensions)
sBIT (Significant bits)
tEXt (Textual data)
tIME (Image last-modification time)
tRNS (Transparency)
zTXt (Compressed textual data)
Foto: © Iconarchive.com