PNG Image: Difference between revisions

From XentaxWiki
Jump to navigation Jump to search
imported>Ikskoks
imported>Ikskoks
Line 76: Line 76:
* [[Hamsterball]]
* [[Hamsterball]]
* Many more...
* Many more...
== See Also ==
* [http://www.libpng.org/pub/png/spec/1.2/png-1.2-pdg-h20.html PNG (Portable Network Graphics) Specification, Version 1.2]
<br/><br>
<br/><br>



Revision as of 22:57, 24 January 2021

PNG


Format Specifications

// PNG Image file format

// big endian

// header
8 bytes - magic // "89 50 4E 47 0D 0A 1A 0A" (PNG)

// chunks
num_of_chunks *
{
   4 bytes (uint32) - chunk size
   4 bytes (char) - chunk type  // e.g. "IHDR"
   x bytes - chunk data
   4 bytes - CRC
}

Critical chunks

IHDR chunk data

This chunk have to occur as the first one in the PNG file, right after header.

4 bytes (uint32) - image width
4 bytes (uint32) - image height
1 byte (uint8) - image depth  // valid values are 1, 2, 4, 8, or 16
                              // e.g. 8bpp
1 byte (uint8) - color type  // It is sum of the following values: 
                             // 1 (palette used) 
                             // 2 (color used) 
                             // 4 (alpha channel used) 
                             // Valid values are 0, 2, 3, 4, and 6.
1 byte (uint8) - compression method  // "0" - deflate
                                     // Note: deflate is mandatory for all standard PNG files
1 byte (uint8) - filther method  // "0" - adaptive filtering with five basic filter types
1 byte (uint8) - interlace method  // "0" - no interlace
                                   // "1" - Adam7 interlace


// TODO - add more chunk descriptions

MultiEx BMS Script

Not written yet.

Notes and Comments

None.

Compatible Programs

  • IrfanView
  • GIMP
  • MS Paint

Games

List of games using this file format:

  • Ragnarok Journey
  • Styx: Shards of Darkness
  • The Fall of Lazarus
  • The Tribez
  • Hamsterball
  • Many more...

See Also