Dog Breeds Information and More
  Komondor - Dog Breeds Facts and Information Dog Breeds Selector A to Z dog breeds Forums

 
Dog names
Dog training
Toy dogs
Intelligence
Dog health
Dog worship
Ticks

 
Golden Retriever
Labrador Retriever
Jack Russell
 
Find a Breed
 
Dog Breeds Encyclopedia
 

PNG

PNG (Portable Network Graphics), sometimes pronounced as "ping", is a relatively new bitmap image format that is becoming popular on the World Wide Web and elsewhere. PNG was largely developed to deal with some of the shortcomings of the GIF format and allows storage of images with greater color depth and other important information.

PNG is supported by the libpng reference library, a platform independent library that contains C functions for handling PNG images.

Contents

History and developement

The motivation for creating the PNG format came in early 1995, after Unisys announced that it would be enforcing software patents on the LZW data compression algorithm used for GIF. The algorithm is described in U.S. Patent 4,558,302 and other patents around the world. There were also other problems with the GIF format which made a replacement desirable, notably its limitation to 256 colours at a time when computers capable of displaying far more than 256 colours were becoming common. Although GIF allows for animation, it was decided that PNG should be a single-image format. A companion format called MNG has been defined for animation. PNG gained some additional popularity in August 1999, after Unisys terminated its royalty-free patent licenses to developers of free software and non-commercial software.

  • Version 1.0 of the PNG specification was released on July 1 1996, and later appeared as RFC 2083. It became a W3C Recommendation on October 1 1996.
  • Version 1.1, with some small changes and the addition of three new chunks, was released on December 31 1998.
  • Version 1.2, adding one extra chunk, was released on August 11 1999.
  • PNG is now an International Standard (ISO/IEC 15948:2003), also released as a W3C Recommendation on November 10 2003. This version of PNG differs only slightly from version 1.2 and adds no new chunks.

Technical details

A PNG image with an 8-bit transparency layer (top), overlayed onto a chequered background (bottom).

PNG uses a non-patented lossless data compression method known as deflation. This method is combined with prediction, where for each image line, a filter method is chosen that predicts the colour of each pixel based on the colours of previous pixels and subtracts the predicted colour of the pixel from the actual color. An image line filtered in this way is often more compressible than the raw image line would be. On most images, PNG can achieve greater compression than GIF, but some implementations make poor choices of filter methods and therefore produce unnecessarily large PNG files.

The GIF file format has allowed portions of images to be transparent, allowing them to appear to have a shape that is not rectangular. However, the GIF method was considered to be insufficient because it only allowed individual pixels to be fully transparent or fully opaque. The PNG format allows two different styles of transparency: binary transparency (in which each pixel is fully transparent or fully opaque), or alpha channel transparency, in which each pixel has an 8-bit numeric value representing a partial transparency. After the introduction of the PNG format, it took a long time for web browsers to fully support alpha channel transparency. Binary transparency is still more widely supported than alpha channel transparency as of 2005. For example, Microsoft Internet Explorer (for Windows) supports binary transparency but not alpha channel transparency (IE can actually be made to render alpha channel pngs properly but does not do so when the image is included in the normal way).

Other image attributes that can be stored in PNG files include gamma values, background color, and textual information. The standard allows up to 48-bit colors, though for most people, 32-bit (RGBA) is usually enough.

A PNG file consists of an 8-byte signature (89 50 4E 47 0D 0A 1A 0A in hexadecimal) followed by a number of chunks, each of which conveys certain information about the image. Chunks declare themselves as critical or ancillary, and a program encountering an ancillary chunk that it does not understand can safely ignore it. This chunk-based structure is designed to allow the PNG format to be extended while maintaining compatibility with older versions.

The MIME media type for PNG is image/png (approved on October 14 1996).

Support and usage


PNG is rapidly replacing GIF for still images, mostly on web sites of computer enthusiasts protesting Unisys's license policies and on some cartoon sites that take advantage of PNG's tighter compression to save on Internet bandwidth charges.

PNG is fully supported by most modern web browsers with the exception of Internet Explorer which does not support the optional alpha channel. Also in some versions of some web browsers assume some gamma correction values even when none are specified in the PNG. The images thus appear differently under different operating systems.

The web graphics package Macromedia Fireworks uses PNG as its native file format, but inserts extra Fireworks-specific information in the file header (and most likely in the ancillary chunks). This enables it to store information about layers, frames (animation), text, and effects (allowing later re-editing). These PNG files have been reported to crash Internet Explorer 4.x and so PNGs for web-page display should be 'exported' from Fireworks, rather than just saved. [1]

Alternatives

In late 2004, an animation extension (APNG) was proposed which, while retaining the ability to render the first frame as a normal PNG in decoders that do not understand the APNG format, also contains additional chunks which allow it to act as an animated image similar to a GIF file in a decoder which does understand the extension. [2]

See also

External links

The contents of this article are licensed from Wikipedia.org under the
GNU Free Documentation License. How to see transparent copy