PNG format groups non-image data in "Chunks". ImageGear represents simpler chunks by single metadata items, and more complex chunks by subtrees.
There are two main PNG metadata levels in ImageGear:
  
PNG Metadata Level
| Name | Id | Type | Value Type | Value | Value Length | Ignored on save | 
| <PNG chunk names> | <PNG chunk ids> | <PNG chunk type> |  |  |  |  | 
For <PNG chunk names >, <PNG chunk ids> and <PNG Chunk types> see See PNG chunks metadata level. section.
PNG Chunks Metadata Level
The following PNG non-image chunk levels are supported by ImageGear:
  
PNG Header Chunk Metadata PNG Level
| Name | Id | Type | Value Type | Value | Value Length | Ignored on save | 
| "IHDR" | 0x49484452 | Tree |  |  |  |  | 
Header Chunk Level
| Name | Id | Type | Value Type | Value | Value Length | Ignored on save | 
| "Width" | 0x49484452 | Leaf | UINT32 |  | 1 | TRUE | 
| "Height" | 0x49484452 | Leaf | UINT32 |  | 1 | TRUE | 
| "BitDepth" | 0x49484452 | Leaf | UINT8 |  | 1 | TRUE | 
| "ColorType" | 0x49484452 | Leaf | UINT8 |  | 1 | TRUE | 
| "CompressionType" | 0x49484452 | Leaf | UINT8 |  | 1 | TRUE | 
| "FilterType" | 0x49484452 | Leaf | UINT8 |  | 1 | TRUE | 
| "InterlaceType" | 0x49484452 | Leaf | UINT8 |  | 1 | TRUE | 
Physical Dimension Chunk Metadata PNG Level
| Name | ID | Type | Value Type | Value | Value Length | Read Only | 
| "pHYs" | 0x70485973 | Tree |  |  |  |  | 
Physical Dimension Chunk Level
| Name | ID | Type | Value Type | Value | Value Length | Read Only | 
| "XAxis" | 0x70485973 | Leaf | UINT32 |  | 1 | FALSE | 
| "YAxis" | 0x70485973 | Leaf | UINT32 |  | 1 | FALSE | 
| "UnitSpecifier" | 0x70485973 | Leaf | UINT8 |  | 1 | FALSE | 
Transparency Chunk Metadata PNG Level
| Name | ID | Type | Value Type | Value | Value Length | Read Only | 
| "tRNS" | 0x74524e53 | Leaf | UINT8 or 
UINT16 |  | Variable | FALSE | 
Gamma Chunk Metadata PNG Level
| Name | ID | Type | Value Type | Value | Value Length | Read Only | 
| "gAMA" | 0x67414d41 | Leaf | UINT32 |  | 1 | FALSE | 
Primary Chromaticities Chunk Metadata PNG Level
| Name | ID | Type | Value Type | Value | Value Length | Read Only | 
| "cHRM" | 0x6348524d | Tree |  |  |  |  | 
Primary Chromaticities Chunk Level
| Name | ID | Type | Value Type | Value | Value Length | Read Only | 
| "WhitePoint" | 0x6348524d | Tree |  |  |  |  | 
| "x" | 0x6348524d | Leaf | UINT32 |  | 1 | FALSE | 
| "y" | 0x6348524d | Leaf | UINT32 |  | 1 | FALSE | 
| "Red" | 0x6348524d | Tree |  |  |  |  | 
| "x" | 0x6348524d | Leaf | UINT32 |  | 1 | FALSE | 
| "y" | 0x6348524d | Leaf | UINT32 |  | 1 | FALSE | 
| "Green" | 0x6348524d | Tree |  |  |  |  | 
| "x" | 0x6348524d | Leaf | UINT32 |  | 1 | FALSE | 
| "y" | 0x6348524d | Leaf | UINT32 |  | 1 | FALSE | 
| "Blue" | 0x6348524d | Tree |  |  |  |  | 
| "x" | 0x6348524d | Leaf | UINT32 |  | 1 | FALSE | 
| "y" | 0x6348524d | Leaf | UINT32 |  | 1 | FALSE | 
sRGB Chunk Metadata PNG Level
| Name | ID | Type | Value Type | Value | Value Length | Read Only | 
| "sRGB" | 0x73524742 | Leaf | UINT32 |  | 1 | FALSE | 
ICC Profile Chunk Metadata PNG Level
| Name | ID | Type | Value Type | Value | Value Length | Read Only | 
| "iCCP" | 0x70485973 | Tree |  |  |  |  | 
ICC Profile Chunk Level
| Name | ID | Type | Value Type | Value | Value Length | Read Only | 
| "ProfileName" | 0x70485973 | Leaf | STRING |  | Variable | FALSE | 
| "ProfileData" | 0x70485973 | Leaf | RAW_DATA |  | Variable | FALSE | 
Background Chunk Metadata PNG Level
| Name | ID | Type | Value Type | Value | Value Length | Read Only | 
| "bKGD" | 0x624b4744 | Leaf | UINT8 or UINT16 |  | Variable | FALSE | 
Significant Bits Chunk Metadata PNG Level
| Name | ID | Type | Value Type | Value | Value Length | Read Only | 
| "sBIT" | 0x73424954 | Leaf | UINT8 |  | Variable | FALSE | 
Suggested Palette Chunk Metadata PNG Level
| Name | ID | Type | Value Type | Value | Value Length | Read Only | 
| "sPLT" | 0x73504c54 | Tree |  |  |  |  | 
Suggested Palette Chunk Level
| Name | ID | Type | Value Type | Value | Value Length | Read Only | 
| "PaletteName" | 0x73504c54 | Leaf | STRING |  | Variable | TRUE | 
| "SampleDepth" | 0x73504c54 | Leaf | UINT8 |  | 1 | FALSE | 
| "PaletteEntryCount" | 0x73504c54 | Leaf | UINT16 | <N> | 1 | FALSE | 
| Palette entry level 0 | <Entry No.> | Tree |  |  |  |  | 
| ... | 
| Palette entry level n | <Entry No.> | Tree |  |  |  |  | 
Palette Entry Level
| Name | ID | Type | Value Type | Value | Value Length | Read Only | 
| "Red" | <Entry No.> | Leaf | UINT8 or UINT16 |  | 1 | FALSE | 
| "Green" | <Entry No.> | Leaf | UINT8 or UINT16 |  | 1 | FALSE | 
| "Blue" | <Entry No.> | Leaf | UINT8 or UINT16 |  | 1 | FALSE | 
| "Alpha" | <Entry No.> | Leaf | UINT8 or UINT16 |  | 1 | FALSE | 
| "Frequency" | <Entry No.> | Leaf | UINT16 |  | 1 | FALSE | 
Palette Histogram Chunk Metadata PNG Level
| Name | ID | Type | Value Type | Value | Value Length | Read Only | 
| "hIST" | 0x68495354 | Leaf | UINT16 |  | Variable | FALSE | 
Modified Time Chunk Metadata PNG Level
| Name | ID | Type | Value Type | Value | Value Length | Read Only | 
| "tIME" | 0x74494d45 | Tree |  |  |  |  | 
Modified Time Chunk Level
| Name | ID | Type | Value Type | Value | Value Length | Read Only | 
| "Year" | 0x74494d45 | Leaf | UINT16 |  | 1 | FALSE | 
| "Month" | 0x74494d45 | Leaf | UINT8 |  | 1 | FALSE | 
| "Day" | 0x74494d45 | Leaf | UINT8 |  | 1 | FALSE | 
| "Hour" | 0x74494d45 | Leaf | UINT8 |  | 1 | FALSE | 
| "Minute" | 0x74494d45 | Leaf | UINT8 |  | 1 | FALSE | 
| "Second" | 0x74494d45 | Leaf | UINT8 |  | 1 | FALSE | 
Text Chunk Metadata PNG Level
| Name | ID | Type | Value Type | Value | Value Length | Read Only | 
| "tEXt" | 0x74455874 | Tree |  |  |  |  | 
Text Chunk Level
| Name | ID | Type | Value Type | Value | Value Length | Read Only | 
| "Keyword" | 0x74455874 | Leaf | STRING |  | Variable | FALSE | 
| "Text" | 0x74455874 | Leaf | STRING |  | Variable | FALSE | 
Compressed Textual Data Chunk Metadata PNG Level
| Name | ID | Type | Value Type | Value | Value Length | Read Only | 
| "zTXt" | 0x7a545874 | Tree |  |  |  |  | 
Compressed Textual Data Chunk Level
| Name | ID | Type | Value Type | Value | Value Length | Read Only | 
| "Keyword" | 0x7a545874 | Leaf | STRING |  | Variable | FALSE | 
| "CompressionMethod" | 0x7a545874 | Leaf | UINT8 |  | 1 | FALSE | 
| "Text" | 0x7a545874 | Leaf | STRING |  | Variable | FALSE | 
International Textual Data Chunk Metadata PNG Level
| Name | ID | Type | Value Type | Value | Value Length | Read Only | 
| "zTXt" | 0x69545874 | Tree |  |  |  |  | 
International Textual Data Chunk Level
| Name | ID | Type | Value Type | Value | Value Length | Read Only | 
| "Keyword" | 0x69545874 | Leaf | STRING |  | Variable | FALSE | 
| "CompressionFlag" | 0x69545874 | Leaf | BOOL |  |  |  | 
| "CompressionMethod" | 0x69545874 | Leaf | UINT8 |  | 1 | FALSE | 
| "LanguageTag" | 0x69545874 | Leaf | STRING |  |  |  | 
| "TranslatedKeyword" | 0x69545874 | Leaf | RAW_DATA |  |  |  | 
| "Text" | 0x69545874 | Leaf | RAW_DATA |  | Variable | FALSE | 
Calibration of Pixel Values Chunk Metadata PNG Level
| Name | ID | Type | Value Type | Value | Value Length | Read Only | 
| "pCAL" | 0x7043414c | Tree |  |  |  |  | 
Calibration of Pixel Values Chunk Level
| Name | ID | Type | Value Type | Value | Value Length | Read Only | 
| "CalibrationName" | 0x7043414c | Leaf | STRING |  | Variable | FALSE | 
| "OriginalZero(x0)" | 0x7043414c | Leaf | INT32 |  | 1 | FALSE | 
| "OriginalMax(x1)" | 0x7043414c | Leaf | INT32 |  | 1 | FALSE | 
| "EquationType" | 0x7043414c | Leaf | UINT8 |  | 1 | FALSE | 
| "NumberOfParameters" | 0x7043414c | Leaf | UINT8 | <N> | Variable | FALSE | 
| "UnitName" | 0x7043414c | Leaf | STRING |  | Variable | FALSE | 
| "CalibrationParameter" | 0 | Leaf | STRING |  | Variable | FALSE | 
| ... | 
| "CalibrationParameter" | <N> - 1 | Leaf | STRING |  | Variable | FALSE | 
Physical Scale Chunk Metadata PNG Level
| Name | ID | Type | Value Type | Value | Value Length | Read Only | 
| "sCAL" | 0x7343414c | Tree |  |  |  |  | 
Physical Scale Chunk Level
| Name | ID | Type | Value Type | Value | Value Length | Read Only | 
| "UnitSpecifier" | 0x7343414c | Leaf | UINT8 |  | 1 | FALSE | 
| "PixelWidth" | 0x7343414c | Leaf | STRING |  | Variable | FALSE | 
| "PixelHeigt" | 0x7343414c | Leaf | STRING |  | Variable | FALSE | 
GIF Application Extension Chunk Metadata PNG Level
| Name | ID | Type | Value Type | Value | Value Length | Read Only | 
| "gIFx" | 0x67494678 | Tree |  |  |  |  | 
GIF Application Extension Chunk Level
| Name | ID | Type | Value Type | Value | Value Length | Read Only | 
| "ApplicationIdentifier" | 0x67494678 | Leaf | STRING |  | Variable | FALSE | 
| "AuthenticationCode" | 0x67494678 | Leaf | UINT8 |  | 1 | FALSE | 
| "ApplicationData" | 0x67494678 | Leaf | RAW_DATA |  | Variable | FALSE | 
GIF Graphic Control Extension Chunk Metadata PNG Level
| Name | ID | Type | Value Type | Value | Value Length | Read Only | 
| "gIFg" | 0x67494674 | Tree |  |  |  |  | 
GIF Graphic Control Extension Chunk Level
| Name | ID | Type | Value Type | Value | Value Length | Read Only | 
| "DisposalMethod" | 0x67494674 | Leaf | UINT8 |  | 1 | FALSE | 
| "UserInputFlag" | 0x67494674 | Leaf | UINT8 |  | 1 | FALSE | 
| "DelayTime" | 0x67494674 | Leaf | UINT16 |  | 1 | FALSE | 
Image Offset Chunk Metadata PNG Level
| Name | ID | Type | Value Type | Value | Value Length | Read Only | 
| "oFFs" | 0x6f464673 | Tree |  |  |  |  | 
Image Offset Chunk Level
| Name | ID | Type | Value Type | Value | Value Length | Read Only | 
| "XPosition" | 0x6f464673 | Leaf | UINT32 |  | 1 | FALSE | 
| "YPosition" | 0x6f464673 | Leaf | UINT32 |  | 1 | FALSE | 
| "UnitSpecifier" | 0x6f464673 | Leaf | UINT8 |  | 1 | FALSE | 
The Rest Chunk Metadata
The rest chunk data are passed as raw data.
PNG Level
| Name | ID | Type | Value Type | Value | Value Length | Read Only | 
| <Chunk Name> | <Chunk ID> | Leaf | RAW_DATA |  | Variable | FALSE | 
<Chunk Name> is a string representation of the chunk type value.
<Chunk ID> is a binary representation of the chunk type value.