[][src]Module png_pong::chunk

Low-level PNG API

A PNG file consists of a sequence of Chunks in a specific order.

PNG Chunk Order

Key

  • Required - Count must be exactly one.
  • Optional - Count must be exactly one or zero.
  • Multiple - Count can be any number, including zero.

Order

The PNG/APNG chunk order must be as follows:

  • Required ImageHeader "IHDR"
  • In any order:
    • Optional Chromaticities
    • Optional Gamma "gAMA"
    • Optional ColorProfile "iCCP"
    • Optional SignificantBits "sBIT"
    • Optional SRgb "sRGB"
    • Optional Physical "pHYs"
    • Multiple SuggestedPalette "sPLT"
    • Optional Time "tIME" (If didn't appear earlier)
    • Multiple InternationalText "iTXt"
    • Multiple Text "tEXt"
    • Multiple CompressedText "zTXt"
    • Optional AnimationControl "acTL" (APNG)
    • Optional FrameControl "fcTL" (APNG)
    • Optional ImageOffset "oFFs" (Extension)
    • Optional PixelCalibration "pCAL" (Extension)
    • Optional SubjectPhysical "sCAL" (Extension)
    • Multiple GifGraphicControlExt "gIFg" (Extension)
    • Multiple GifApplicationExt "gIFx" (Extension)
  • Optional Palette "PLTE"
  • In any order:
    • Optional Background "bKGD"
    • Optional PaletteHistogram "hIST"
    • Optional Transparency "tRNS"
    • Optional Physical "pHYs" (If didn't appear before PLTE)
    • Multiple SuggestedPalette "sPLT"
    • Optional Time "tIME" (If didn't appear earlier)
    • Multiple InternationalText "iTXt"
    • Multiple Text "tEXt"
    • Multiple CompressedText "zTXt"
    • Optional AnimationControl "acTL" (APNG, If didn't appear earlier)
    • Optional FrameControl "fcTL" (APNG, If didn't appear earlier)
    • Optional ImageOffset "oFFs" (Extension, If didn't appear earlier)
    • Optional PixelCalibration "pCAL" (Extension, If didn't appear earlier)
    • Optional SubjectPhysical "sCAL" (Extension, If didn't appear earlier)
    • Multiple GifGraphicControlExt "gIFg" (Extension)
    • Multiple GifApplicationExt "gIFx" (Extension)
  • Multiple ImageData "IDAT"
  • In any order:
    • Optional Time "tIME" (If didn't appear earlier)
    • Multiple InternationalText "iTXt"
    • Multiple Text "tEXt"
    • Multiple CompressedText "zTXt"
    • Multiple FrameControl "fcTL" (APNG)
    • Multiple FrameData "fdAT" (APNG, must be somewhere after "fcTL")
    • Multiple GifGraphicControlExt "gIFg" (Extension)
    • Multiple GifApplicationExt "gIFx" (Extension)
  • Required ImageEnd "IEND"

Structs

CompressedText

Compressed Text Chunk Data (zTXt)

ImageData

Image Data Chunk Data (IDAT)

ImageEnd

Image End Chunk Data (IEND)

ImageHeader

Image Header Chunk Data (IHDR)

InternationalText

International Text Chunk Data (iTXt)

Palette

Palette Chunk Data (PLTE)

Physical

Physical dimensions chunk (pHYs)

Text

Non-International Text Chunk Data (tEXt and zTXt)

Time

Time chunk (tIME)

Enums

Background

Suggested background color chunk (bKGD)

Chunk

A chunk within a PNG file.

ColorType

Standard PNG color types.

Transparency

Alpha Palette Chunk Data (tRNS)