PNG format groups non-image data in "Chunks". ImageGear represents simpler chunks by single metadata items, and more complex chunks by subtrees. Thus, there are two main PNG metadata levels in ImageGear:
- See PNG metadata level.
- See PNG chunks metadata level.
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:
- See PNG header chunk metadata.
- See Physical dimension chunk metadata.
- See Transparency chunk metadata.
- See Gamma chunk metadata.
- See Primary chromaticities chunk metadata.
- See sRGB chunk metadata.
- See ICC profile chunk metadata.
- See Background chunk metadata.
- See Significant bits chunk metadata.
- See Suggested palette chunk metadata.
- See Palette histogram chunk metadata.
- See Modified time chunk metadata.
- See Text chunk metadata.
- See Compressed textual data chunk metadata.
- See International textual data chunk metadata.
- See Calibration of pixel values chunk metadata.
- See Physical scale chunk metadata.
- See GIF application extension chunk metadata.
- See GIF Graphic Control Extension chunk metadata.
- See Image offset chunk metadata.
- See The rest chunk metadata.
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.