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.