REC-png-multi.html 10 KB
<HTML>
<HEAD>
<TITLE>PNG (Portable Network Graphics) Specification</TITLE>
</HEAD>

<BODY BACKGROUND="recbg.jpg">
<h2 align=right><A HREF="http://www.w3.org/"><img align=left alt="W3C:" src="http://www.w3.org/pub/WWW/Icons/WWW/w3c_48x48" width=48 height=48></A>
REC-png.html</h2>

<H1>PNG (Portable Network Graphics) Specification</H1>
<H1>Version 1.0</H1>

<h3 align=center>W3C Recommendation  <i>01-October-1996</i></h3>




<p>
For list of authors, see <A HREF="PNG-Credits.html">Credits</A>.
<hr>

<h2>Status of this document</h2>

<p>This document has been reviewed by W3C members and other interested
parties and has been endorsed by the Director as a W3C Recommendation.
It is a stable document and may be used as reference material or cited
as a normative reference from another document. W3C's role in making
the Recommendation is to draw attention to the specification and to
promote its widespread deployment.  This enhances the functionality
and interoperability of the Web.

<p>A list of current W3C Recommendations and other technical documents
can be found at
<a href="http://www.w3.org/pub/WWW/TR/">http://www.w3.org/pub/WWW/TR/</a>.

<p>The Consortium staff have encouraged the development of PNG,
as have Compuserve, Inc. Most of the work has been done by the
PNG Development Group, <tt>png-group@w3.org</tt>.
The Consortium does not currently have plans to work on any
future versions of PNG, though were the necessity to arise,
and were an activity in that area to receive the support of Members,
the Consortium could in principle support some future activity.</p>

<hr>




<H2>Abstract</H2>

This document describes PNG (Portable Network Graphics), an extensible
file format for the lossless, portable, well-compressed storage of raster
images.  PNG provides a patent-free replacement for GIF and
can also replace many common uses of TIFF.  Indexed-color,
grayscale, and truecolor images are supported, plus an optional
alpha channel.  Sample depths range from 1 to 16 bits.
<P>
PNG is designed to work well in online viewing applications, such as
the World Wide Web, so it is fully streamable with a progressive
display option.
PNG is robust, providing both full file integrity checking and
simple detection of common transmission errors.
Also, PNG can store gamma and chromaticity data for
improved color matching on heterogeneous platforms.
<P>
This specification defines a proposed Internet Media Type
<tt>image/png</tt>.

<hr>

<H2>Table of Contents</H2>

<UL>
<LI><A HREF="PNG-Introduction.html">1. Introduction</A>
<LI><A HREF="PNG-DataRep.html">2. Data Representation</A>
<UL>
<LI><A HREF="PNG-DataRep.html#DR.Integers-and-byte-order">2.1. Integers and byte order</A>
<LI><A HREF="PNG-DataRep.html#DR.Color-values">2.2. Color values</A>
<LI><A HREF="PNG-DataRep.html#DR.Image-layout">2.3. Image layout</A>
<LI><A HREF="PNG-DataRep.html#DR.Alpha-channel">2.4. Alpha channel</A>
<LI><A HREF="PNG-DataRep.html#DR.Filtering">2.5. Filtering</A>
<LI><A HREF="PNG-DataRep.html#DR.Interlaced-data-order">2.6. Interlaced data order</A>
<LI><A HREF="PNG-DataRep.html#DR.Gamma-correction">2.7. Gamma correction</A>
<LI><A HREF="PNG-DataRep.html#DR.Text-strings">2.8. Text strings</A>
</UL>
<LI><A HREF="PNG-Structure.html">3. File Structure</A>
<UL>
<LI><A HREF="PNG-Structure.html#PNG-file-signature">3.1. PNG file signature</A>
<LI><A HREF="PNG-Structure.html#Chunk-layout">3.2. Chunk layout</A>
<LI><A HREF="PNG-Structure.html#Chunk-naming-conventions">3.3. Chunk naming conventions</A>
<LI><A HREF="PNG-Structure.html#CRC-algorithm">3.4. CRC algorithm</A>
</UL>
<LI><A HREF="PNG-Chunks.html">4. Chunk Specifications</A>
<UL>
<LI><A HREF="PNG-Chunks.html#C.Critical-chunks">4.1. Critical chunks</A>
<UL>
<LI><A HREF="PNG-Chunks.html#C.IHDR">4.1.1. <tt>IHDR  </tt>  Image header</A>
<LI><A HREF="PNG-Chunks.html#C.PLTE">4.1.2. <tt>PLTE  </tt>  Palette</A>
<LI><A HREF="PNG-Chunks.html#C.IDAT">4.1.3. <tt>IDAT  </tt>  Image data</A>
<LI><A HREF="PNG-Chunks.html#C.IEND">4.1.4. <tt>IEND  </tt>  Image trailer</A>
</UL>
<LI><A HREF="PNG-Chunks.html#C.Ancillary-chunks">4.2. Ancillary chunks</A>
<UL>
<LI><A HREF="PNG-Chunks.html#C.bKGD">4.2.1. <tt>bKGD  </tt>  Background color</A>
<LI><A HREF="PNG-Chunks.html#C.cHRM">4.2.2. <tt>cHRM  </tt>  Primary chromaticities and white point</A>
<LI><A HREF="PNG-Chunks.html#C.gAMA">4.2.3. <tt>gAMA  </tt>  Image gamma</A>
<LI><A HREF="PNG-Chunks.html#C.hIST">4.2.4. <tt>hIST  </tt>  Image histogram</A>
<LI><A HREF="PNG-Chunks.html#C.pHYs">4.2.5. <tt>pHYs  </tt>  Physical pixel dimensions</A>
<LI><A HREF="PNG-Chunks.html#C.sBIT">4.2.6. <tt>sBIT  </tt>  Significant bits</A>
<LI><A HREF="PNG-Chunks.html#C.tEXt">4.2.7. <tt>tEXt  </tt>  Textual data</A>
<LI><A HREF="PNG-Chunks.html#C.tIME">4.2.8. <tt>tIME  </tt>  Image last-modification time</A>
<LI><A HREF="PNG-Chunks.html#C.tRNS">4.2.9. <tt>tRNS  </tt>  Transparency</A>
<LI><A HREF="PNG-Chunks.html#C.zTXt">4.2.10. <tt>zTXt  </tt>  Compressed textual data</A>
</UL>
<LI><A HREF="PNG-Chunks.html#C.Summary-of-standard-chunks">4.3. Summary of standard chunks</A>
<LI><A HREF="PNG-Chunks.html#C.Additional-chunk-types">4.4. Additional chunk types</A>
</UL>
<LI><A HREF="PNG-Compression.html">5. Deflate/Inflate Compression</A>
<LI><A HREF="PNG-Filters.html">6. Filter Algorithms</A>
<UL>
<LI><A HREF="PNG-Filters.html#Filter-types">6.1. Filter types</A>
<LI><A HREF="PNG-Filters.html#Filter-type-0-None">6.2. Filter type 0: None</A>
<LI><A HREF="PNG-Filters.html#Filter-type-1-Sub">6.3. Filter type 1: Sub</A>
<LI><A HREF="PNG-Filters.html#Filter-type-2-Up">6.4. Filter type 2: Up</A>
<LI><A HREF="PNG-Filters.html#Filter-type-3-Average">6.5. Filter type 3: Average</A>
<LI><A HREF="PNG-Filters.html#Filter-type-4-Paeth">6.6. Filter type 4: Paeth</A>
</UL>
<LI><A HREF="PNG-Ordering.html">7. Chunk Ordering Rules</A>
<UL>
<LI><A HREF="PNG-Ordering.html#Behavior-of-PNG-editors">7.1. Behavior of PNG editors</A>
<LI><A HREF="PNG-Ordering.html#Ordering-of-ancillary-chunks">7.2. Ordering of ancillary chunks</A>
<LI><A HREF="PNG-Ordering.html#Ordering-of-critical-chunks">7.3. Ordering of critical chunks</A>
</UL>
<LI><A HREF="PNG-Misc.html">8. Miscellaneous Topics</A>
<UL>
<LI><A HREF="PNG-Misc.html#File-name-extension">8.1. File name extension</A>
<LI><A HREF="PNG-Misc.html#Media-type">8.2. Internet media type</A>
<LI><A HREF="PNG-Misc.html#Macintosh-file-layout">8.3. Macintosh file layout</A>
<LI><A HREF="PNG-Misc.html#Multiple-image-extension">8.4. Multiple-image extension</A>
<LI><A HREF="PNG-Misc.html#Security-considerations">8.5. Security considerations</A>
</UL>
<LI><A HREF="PNG-Encoders.html">9. Recommendations for Encoders</A>
<UL>
<LI><A HREF="PNG-Encoders.html#E.Sample-depth-scaling">9.1. Sample depth scaling</A>
<LI><A HREF="PNG-Encoders.html#E.Encoder-gamma-handling">9.2. Encoder gamma handling</A>
<LI><A HREF="PNG-Encoders.html#E.Encoder-color-handling">9.3. Encoder color handling</A>
<LI><A HREF="PNG-Encoders.html#E.Alpha-channel-creation">9.4. Alpha channel creation</A>
<LI><A HREF="PNG-Encoders.html#E.Suggested-palettes">9.5. Suggested palettes</A>
<LI><A HREF="PNG-Encoders.html#E.Filter-selection">9.6. Filter selection</A>
<LI><A HREF="PNG-Encoders.html#E.Text-chunk-processing">9.7. Text chunk processing</A>
<LI><A HREF="PNG-Encoders.html#E.Use-of-private-chunks">9.8. Use of private chunks</A>
<LI><A HREF="PNG-Encoders.html#E.Private-type-and-method-codes">9.9. Private type and method codes</A>
</UL>
<LI><A HREF="PNG-Decoders.html">10. Recommendations for Decoders</A>
<UL>
<LI><A HREF="PNG-Decoders.html#D.Error-checking">10.1. Error checking</A>
<LI><A HREF="PNG-Decoders.html#D.Pixel-dimensions">10.2. Pixel dimensions</A>
<LI><A HREF="PNG-Decoders.html#D.Truecolor-image-handling">10.3. Truecolor image handling</A>
<LI><A HREF="PNG-Decoders.html#D.Sample-depth-rescaling">10.4. Sample depth rescaling</A>
<LI><A HREF="PNG-Decoders.html#D.Decoder-gamma-handling">10.5. Decoder gamma handling</A>
<LI><A HREF="PNG-Decoders.html#D.Decoder-color-handling">10.6. Decoder color handling</A>
<LI><A HREF="PNG-Decoders.html#D.Background-color">10.7. Background color</A>
<LI><A HREF="PNG-Decoders.html#D.Alpha-channel-processing">10.8. Alpha channel processing</A>
<LI><A HREF="PNG-Decoders.html#D.Progressive-display">10.9. Progressive display</A>
<LI><A HREF="PNG-Decoders.html#D.Suggested-palette-and-histogram-usage">10.10. Suggested-palette and histogram usage</A>
<LI><A HREF="PNG-Decoders.html#D.Text-chunk-processing">10.11. Text chunk processing</A>
</UL>
<LI><A HREF="PNG-Glossary.html">11. Glossary</A>
<LI><A HREF="PNG-Rationale.html">12. Appendix: Rationale</A>
<UL>
<LI><A HREF="PNG-Rationale.html#R.Why-a-new-file-format">12.1. Why a new file format?</A>
<LI><A HREF="PNG-Rationale.html#R.Why-these-features">12.2. Why these features?</A>
<LI><A HREF="PNG-Rationale.html#R.Why-not-these-features">12.3. Why not these features?</A>
<LI><A HREF="PNG-Rationale.html#R.Why-not-use-format-X">12.4. Why not use format X?</A>
<LI><A HREF="PNG-Rationale.html#R.Byte-order">12.5. Byte order</A>
<LI><A HREF="PNG-Rationale.html#R.Interlacing">12.6. Interlacing</A>
<LI><A HREF="PNG-Rationale.html#R.Why-gamma">12.7. Why gamma?</A>
<LI><A HREF="PNG-Rationale.html#R.Non-premultiplied-alpha">12.8. Non-premultiplied alpha</A>
<LI><A HREF="PNG-Rationale.html#R.Filtering">12.9. Filtering</A>
<LI><A HREF="PNG-Rationale.html#R.Text-strings">12.10. Text strings</A>
<LI><A HREF="PNG-Rationale.html#R.PNG-file-signature">12.11. PNG file signature</A>
<LI><A HREF="PNG-Rationale.html#R.Chunk-layout">12.12. Chunk layout</A>
<LI><A HREF="PNG-Rationale.html#R.Chunk-naming-conventions">12.13. Chunk naming conventions</A>
<LI><A HREF="PNG-Rationale.html#R.Palette-histograms">12.14. Palette histograms</A>
</UL>
<LI><A HREF="PNG-GammaAppendix.html">13. Appendix: Gamma Tutorial</A>
<LI><A HREF="PNG-ColorAppendix.html">14. Appendix: Color Tutorial</A>
<LI><A HREF="PNG-CRCAppendix.html">15. Appendix: Sample CRC Code</A>
<LI><A HREF="PNG-Resources.html">16. Appendix: Online Resources</A>
<LI><A HREF="PNG-History.html">17. Appendix: Revision History</A>
<LI><A HREF="PNG-References.html">18. References</A>
<LI><A HREF="PNG-Credits.html">19. Credits</A>
</UL>


<HR>
<A HREF="PNG-Introduction.html">Next page</A>
<HR>

</BODY>
</HTML>