PNG
Dan Tobias (Talk | contribs) |
(Extensions section) |
||
Line 17: | Line 17: | ||
A PNG file consists of an 8-byte signature, followed by a sequence of "chunks". Each chunk has an 8-byte header, 4 bytes of which indicate the chunk length, and 4 bytes of which are a label indicating the type of data stored in the chunk. Each chunk also has a 4-byte trailer which stores a checksum. | A PNG file consists of an 8-byte signature, followed by a sequence of "chunks". Each chunk has an 8-byte header, 4 bytes of which indicate the chunk length, and 4 bytes of which are a label indicating the type of data stored in the chunk. Each chunk also has a 4-byte trailer which stores a checksum. | ||
+ | |||
+ | == Extensions == | ||
+ | {| class="wikitable" | ||
+ | ! Chunk ID | ||
+ | ! References | ||
+ | |- | ||
+ | |oFFs, pCAL, sCAL, gIFg, gIFx, gIFt, fRAc || Refer to [http://pmt.sourceforge.net/specs/pngext-1.2.0-pdg-h20.html Extensions to the PNG 1.2 Specification, v1.2.0]. | ||
+ | |- | ||
+ | |sTER || Refer to [ftp://ftp.simplesystems.org/pub/libpng/png/documents/pngext-1.3.0-pdg.html Extensions to the PNG 1.2 Specification, v1.3.0]. | ||
+ | |- | ||
+ | |dSIG || See the [http://png-dsig.sourceforge.net/ PNG dSIG website]. | ||
+ | |- | ||
+ | |acTL, fcTL, fdAT || Used by [[APNG]]. | ||
+ | |- | ||
+ | |CgBI || Refer to [[CgBI]]. | ||
+ | |} | ||
== Related Formats == | == Related Formats == | ||
Line 26: | Line 42: | ||
* [[ICC profile]]: The format used by iCCP chunks. | * [[ICC profile]]: The format used by iCCP chunks. | ||
− | == | + | == Specifications == |
− | + | ||
* [http://www.w3.org/TR/PNG/ W3C PNG specification] | * [http://www.w3.org/TR/PNG/ W3C PNG specification] | ||
+ | |||
+ | == Links == | ||
+ | * [http://en.wikipedia.org/wiki/Portable_Network_Graphics Portable Network Graphics (Wikipedia)] |
Revision as of 16:34, 6 June 2013
Portable Network Graphics (PNG) was devised starting in a discussion on newsgroup comp.graphics in 1995, with the first version of its specification released in 1996. The motivation for its creation was to create a free and unencumbered image format in the wake of the patent issue with GIF.
PNG has become a very popular graphic format, but widespread adoption on the Web was slow due to the fact that the first specification came out over a year after the Web had begun to be popular with the general public, meaning that there were many sites and browsers out there not using and supporting the new format; subsequently, browsers began to support it, but often had rendering problems which persisted even in fairly late versions years later; this caused webmasters to be slow to switch from GIF to PNG, though some are doing so now. Since the LZW patent that affected GIF is expired now, the "free format" motivation for the switch no longer applies.
Unlike GIF, PNG supports only still graphics, not animation. A related format, MNG, does animation.
Contents |
Format
A PNG file consists of an 8-byte signature, followed by a sequence of "chunks". Each chunk has an 8-byte header, 4 bytes of which indicate the chunk length, and 4 bytes of which are a label indicating the type of data stored in the chunk. Each chunk also has a 4-byte trailer which stores a checksum.
Extensions
Chunk ID | References |
---|---|
oFFs, pCAL, sCAL, gIFg, gIFx, gIFt, fRAc | Refer to Extensions to the PNG 1.2 Specification, v1.2.0. |
sTER | Refer to Extensions to the PNG 1.2 Specification, v1.3.0. |
dSIG | See the PNG dSIG website. |
acTL, fcTL, fdAT | Used by APNG. |
CgBI | Refer to CgBI. |
Related Formats
- zlib-style DEFLATE compression: Used to compress image and other data.
- CRC-32: Used to calculate a checksum of each chunk.
- ISO 8859-1: The character encoding used by tEXt and zTXt chunks.
- UTF-8: The character encoding used by iTXt chunks.
- ICC profile: The format used by iCCP chunks.