RFC 2083:PNG (Portable Network Graphics) Specifica...
RFC-Ref

PNG (Portable Network Graphics) Specification Version 1.0


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

Google
Web
RFC-Ref