Package com.sixlegs.png

## Class PngConstants

- java.lang.Object
- - com.sixlegs.png.PngConstants

-     public abstract class PngConstants
      extends java.lang.Object

  This interface defines all registered chunk types and provides methods helper methods to examine them. It also defines all of the keys used in the property map of a decoded `PngImage`, and applicable enumerated values.
  See Also:
    `PngImage.getProperty(java.lang.String)`, `PngImage.getProperties()`

- - ### Field Summary

    Fields
    Modifier and Type | Field | Description
    --- | --- | ---
    `static java.lang.String` | `BACKGROUND` | `bKGD`: Background samples
    `static java.lang.String` | `BIT_DEPTH` | `IHDR`: Bit depth
    `static int` | `bKGD` | Background color
    `static int` | `cHRM` | Primary chromaticities
    `static java.lang.String` | `CHROMATICITY` | `cHRM`: Chromaticity
    `static java.lang.String` | `COLOR_TYPE` | `IHDR`: Color type
    `static int` | `COLOR_TYPE_GRAY` | `IHDR`: Grayscale color type
    `static int` | `COLOR_TYPE_GRAY_ALPHA` | `IHDR`: Grayscale+alpha color type
    `static int` | `COLOR_TYPE_PALETTE` | `IHDR`: Palette color type
    `static int` | `COLOR_TYPE_RGB` | `IHDR`: RGB color type
    `static int` | `COLOR_TYPE_RGB_ALPHA` | `IHDR`: RGBA color type
    `static java.lang.String` | `COMPRESSION` | `IHDR`: Compression method
    `static int` | `COMPRESSION_BASE` | `IHDR`: Deflate/inflate compression
    `static java.lang.String` | `FILTER` | `IHDR`: Filter method
    `static int` | `FILTER_BASE` | `IHDR`: Adaptive filtering
    `static int` | `gAMA` | Image gamma
    `static java.lang.String` | `GAMMA` | `gAMA`: Gamma
    `static java.lang.String` | `GIF_DELAY_TIME` | `gIFg`: GIF delay time (hundredths of a second)
    `static java.lang.String` | `GIF_DISPOSAL_METHOD` | `gIFg`: GIF disposal method
    `static java.lang.String` | `GIF_USER_INPUT_FLAG` | `gIFg`: GIF user input flag
    `static int` | `gIFg` | GIF Graphic Control Extension
    `static int` | `gIFx` | GIF Application Extension
    `static java.lang.String` | `HEIGHT` | `IHDR`: Height
    `static int` | `hIST` | Palette histogram
    `static java.lang.String` | `HISTOGRAM` | `hIST`: Palette histogram
    `static java.lang.String` | `ICC_PROFILE` | `iCCP`: ICC profile
    `static java.lang.String` | `ICC_PROFILE_NAME` | `iCCP`: ICC profile name
    `static int` | `iCCP` | Embedded ICC profile
    `static int` | `IDAT` | Image data
    `static int` | `IEND` | Image trailer
    `static int` | `IHDR` | Image header
    `static java.lang.String` | `INTERLACE` | `IHDR`: Interlace method
    `static int` | `INTERLACE_ADAM7` | `IHDR`: Adam7 interlace
    `static int` | `INTERLACE_NONE` | `IHDR`: No interlace
    `static int` | `iTXt` | International textual data
    `static int` | `oFFs` | Image offset
    `static java.lang.String` | `PALETTE` | `PLTE`: Palette entries
    `static java.lang.String` | `PALETTE_ALPHA` | `PLTE`: Palette alpha
    `static int` | `pCAL` | Calibration of pixel values
    `static int` | `pHYs` | Physical pixel dimensions
    `static java.lang.String` | `PIXEL_HEIGHT` | `sCAL`: Physical height of pixel
    `static java.lang.String` | `PIXEL_WIDTH` | `sCAL`: Physical width of pixel
    `static java.lang.String` | `PIXELS_PER_UNIT_X` | `pHYs`: Pixels per unit, X axis
    `static java.lang.String` | `PIXELS_PER_UNIT_Y` | `pHYs`: Pixels per unit, Y axis
    `static int` | `PLTE` | Palette
    `static java.lang.String` | `POSITION_UNIT` | `oFFs`: Unit for image offset
    `static int` | `POSITION_UNIT_MICROMETER` | `oFFs`: Unit is the micrometer (10^-6 meter)
    `static int` | `POSITION_UNIT_PIXEL` | `oFFs`: Unit is the pixel (true dimensions unspecified)
    `static java.lang.String` | `POSITION_X` | `oFFs`: Image X position
    `static java.lang.String` | `POSITION_Y` | `oFFs`: Image Y position
    `static java.lang.String` | `RENDERING_INTENT` | `sRGB`: Rendering intent
    `static int` | `sBIT` | Significant bits
    `static int` | `sCAL` | Physical scale of image subject
    `static java.lang.String` | `SCALE_UNIT` | `sCAL`: Unit for physical scale of image subject
    `static int` | `SCALE_UNIT_METER` | `sCAL`: Unit is the meter
    `static int` | `SCALE_UNIT_RADIAN` | `sCAL`: Unit is the radian
    `static long` | `SIGNATURE` | Eight byte magic number that begins all PNG images
    `static java.lang.String` | `SIGNIFICANT_BITS` | `sBIT`: Significant bits
    `static int` | `sPLT` | Suggested palette
    `static int` | `sRGB` | Standard RGB color space
    `static int` | `SRGB_ABSOLUTE_COLORIMETRIC` | `sRGB`: Absolute colormetric rendering intent
    `static int` | `SRGB_PERCEPTUAL` | `sRGB`: Perceptual rendering intent
    `static int` | `SRGB_RELATIVE_COLORIMETRIC` | `sRGB`: Relative colorimetric rendering intent
    `static int` | `SRGB_SATURATION_PRESERVING` | `sRGB`: Saturation rendering intent
    `static int` | `sTER` | Indicator of Stereo Image
    `static java.lang.String` | `STEREO_MODE` | `sTER`: Indicator of stereo image
    `static int` | `STEREO_MODE_CROSS` | `sTER`: Cross-fuse layout
    `static int` | `STEREO_MODE_DIVERGING` | `sTER`: Diverging-fuse layout
    `static java.lang.String` | `SUGGESTED_PALETTES` | `sPLT`: List of suggested palettes
    `static int` | `tEXt` | Textual data
    `static java.lang.String` | `TEXT_CHUNKS` | `tEXt`/`zTXt`/`iTXt`: List of text chunks
    `static int` | `tIME` | Image last-modification time
    `static java.lang.String` | `TIME` | `tIME`: Image last-modification time
    `static java.lang.String` | `TRANSPARENCY` | `tRNS`: Transparency samples
    `static int` | `tRNS` | Transparency
    `static java.lang.String` | `UNIT` | `pHYs`: Unit specifier
    `static int` | `UNIT_METER` | `pHYs`: Unit is the meter
    `static int` | `UNIT_UNKNOWN` | `pHYs`: Unit is unknown
    `static java.lang.String` | `WIDTH` | `IHDR`: Width
    `static int` | `zTXt` | Compressed textual data

  - ### Constructor Summary

    Constructors
    Constructor | Description
    --- | ---
    `PngConstants()` |

  - ### Method Summary

    All Methods Static Methods Concrete Methods
    Modifier and Type | Method | Description
    --- | --- | ---
    `static java.lang.String` | `getChunkName​(int chunkType)` | Returns the four-character ASCII name corresponding to the given chunk type.
    `static int` | `getChunkType​(java.lang.String chunkName)` | Returns the chunk type corresponding to the given four-character ASCII chunk name.
    `static boolean` | `isAncillary​(int chunkType)` | Returns `true` if the given chunk type has the ancillary bit set (the first letter is lowercase).
    `static boolean` | `isPrivate​(int chunkType)` | Returns `true` if the given chunk type has the private bit set (the second letter is lowercase).
    `static boolean` | `isReserved​(int chunkType)` | Returns `true` if the given chunk type has the reserved bit set (the third letter is lowercase).
    `static boolean` | `isSafeToCopy​(int chunkType)` | Returns `true` if the given chunk type has the safe-to-copy bit set (the fourth letter is lowercase).

    - ### Methods inherited from class java.lang.Object

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- - ### Field Detail

    - #### SIGNATURE

          public static final long SIGNATURE

      Eight byte magic number that begins all PNG images
      See Also:
        Constant Field Values

    - #### IHDR

          public static final int IHDR

      Image header
      See Also:
        Constant Field Values

    - #### PLTE

          public static final int PLTE

      Palette
      See Also:
        Constant Field Values

    - #### IDAT

          public static final int IDAT

      Image data
      See Also:
        Constant Field Values

    - #### IEND

          public static final int IEND

      Image trailer
      See Also:
        Constant Field Values

    - #### bKGD

          public static final int bKGD

      Background color
      See Also:
        Constant Field Values

    - #### cHRM

          public static final int cHRM

      Primary chromaticities
      See Also:
        Constant Field Values

    - #### gAMA

          public static final int gAMA

      Image gamma
      See Also:
        Constant Field Values

    - #### hIST

          public static final int hIST

      Palette histogram
      See Also:
        Constant Field Values

    - #### iCCP

          public static final int iCCP

      Embedded ICC profile
      See Also:
        Constant Field Values

    - #### iTXt

          public static final int iTXt

      International textual data
      See Also:
        Constant Field Values

    - #### pHYs

          public static final int pHYs

      Physical pixel dimensions
      See Also:
        Constant Field Values

    - #### sBIT

          public static final int sBIT

      Significant bits
      See Also:
        Constant Field Values

    - #### sPLT

          public static final int sPLT

      Suggested palette
      See Also:
        Constant Field Values

    - #### sRGB

          public static final int sRGB

      Standard RGB color space
      See Also:
        Constant Field Values

    - #### tEXt

          public static final int tEXt

      Textual data
      See Also:
        Constant Field Values

    - #### tIME

          public static final int tIME

      Image last-modification time
      See Also:
        Constant Field Values

    - #### tRNS

          public static final int tRNS

      Transparency
      See Also:
        Constant Field Values

    - #### zTXt

          public static final int zTXt

      Compressed textual data
      See Also:
        Constant Field Values

    - #### oFFs

          public static final int oFFs

      Image offset
      See Also:
        Constant Field Values

    - #### pCAL

          public static final int pCAL

      Calibration of pixel values
      See Also:
        Constant Field Values

    - #### sCAL

          public static final int sCAL

      Physical scale of image subject
      See Also:
        Constant Field Values

    - #### gIFg

          public static final int gIFg

      GIF Graphic Control Extension
      See Also:
        Constant Field Values

    - #### gIFx

          public static final int gIFx

      GIF Application Extension
      See Also:
        Constant Field Values

    - #### sTER

          public static final int sTER

      Indicator of Stereo Image
      See Also:
        Constant Field Values

    - #### BIT_DEPTH

          public static final java.lang.String BIT_DEPTH

      `IHDR`: Bit depth
      See Also:
        Constant Field Values

    - #### COLOR_TYPE

          public static final java.lang.String COLOR_TYPE

      `IHDR`: Color type
      See Also:
        Constant Field Values

    - #### COMPRESSION

          public static final java.lang.String COMPRESSION

      `IHDR`: Compression method
      See Also:
        Constant Field Values

    - #### FILTER

          public static final java.lang.String FILTER

      `IHDR`: Filter method
      See Also:
        Constant Field Values

    - #### GAMMA

          public static final java.lang.String GAMMA

      `gAMA`: Gamma
      See Also:
        Constant Field Values

    - #### WIDTH

          public static final java.lang.String WIDTH

      `IHDR`: Width
      See Also:
        Constant Field Values

    - #### HEIGHT

          public static final java.lang.String HEIGHT

      `IHDR`: Height
      See Also:
        Constant Field Values

    - #### INTERLACE

          public static final java.lang.String INTERLACE

      `IHDR`: Interlace method
      See Also:
        Constant Field Values

    - #### PALETTE

          public static final java.lang.String PALETTE

      `PLTE`: Palette entries
      See Also:
        Constant Field Values

    - #### PALETTE_ALPHA

          public static final java.lang.String PALETTE_ALPHA

      `PLTE`: Palette alpha
      See Also:
        Constant Field Values

    - #### TRANSPARENCY

          public static final java.lang.String TRANSPARENCY

      `tRNS`: Transparency samples
      See Also:
        Constant Field Values

    - #### BACKGROUND

          public static final java.lang.String BACKGROUND

      `bKGD`: Background samples
      See Also:
        Constant Field Values

    - #### PIXELS_PER_UNIT_X

          public static final java.lang.String PIXELS_PER_UNIT_X

      `pHYs`: Pixels per unit, X axis
      See Also:
        Constant Field Values

    - #### PIXELS_PER_UNIT_Y

          public static final java.lang.String PIXELS_PER_UNIT_Y

      `pHYs`: Pixels per unit, Y axis
      See Also:
        Constant Field Values

    - #### RENDERING_INTENT

          public static final java.lang.String RENDERING_INTENT

      `sRGB`: Rendering intent
      See Also:
        Constant Field Values

    - #### SIGNIFICANT_BITS

          public static final java.lang.String SIGNIFICANT_BITS

      `sBIT`: Significant bits
      See Also:
        Constant Field Values

    - #### TEXT_CHUNKS

          public static final java.lang.String TEXT_CHUNKS

      `tEXt`/`zTXt`/`iTXt`: List of text chunks
      See Also:
        Constant Field Values

    - #### TIME

          public static final java.lang.String TIME

      `tIME`: Image last-modification time
      See Also:
        Constant Field Values

    - #### UNIT

          public static final java.lang.String UNIT

      `pHYs`: Unit specifier
      See Also:
        Constant Field Values

    - #### CHROMATICITY

          public static final java.lang.String CHROMATICITY

      `cHRM`: Chromaticity
      See Also:
        Constant Field Values

    - #### ICC_PROFILE

          public static final java.lang.String ICC_PROFILE

      `iCCP`: ICC profile
      See Also:
        Constant Field Values

    - #### ICC_PROFILE_NAME

          public static final java.lang.String ICC_PROFILE_NAME

      `iCCP`: ICC profile name
      See Also:
        Constant Field Values

    - #### HISTOGRAM

          public static final java.lang.String HISTOGRAM

      `hIST`: Palette histogram
      See Also:
        Constant Field Values

    - #### SUGGESTED_PALETTES

          public static final java.lang.String SUGGESTED_PALETTES

      `sPLT`: List of suggested palettes
      See Also:
        Constant Field Values

    - #### GIF_DISPOSAL_METHOD

          public static final java.lang.String GIF_DISPOSAL_METHOD

      `gIFg`: GIF disposal method
      See Also:
        Constant Field Values

    - #### GIF_USER_INPUT_FLAG

          public static final java.lang.String GIF_USER_INPUT_FLAG

      `gIFg`: GIF user input flag
      See Also:
        Constant Field Values

    - #### GIF_DELAY_TIME

          public static final java.lang.String GIF_DELAY_TIME

      `gIFg`: GIF delay time (hundredths of a second)
      See Also:
        Constant Field Values

    - #### SCALE_UNIT

          public static final java.lang.String SCALE_UNIT

      `sCAL`: Unit for physical scale of image subject
      See Also:
        Constant Field Values

    - #### PIXEL_WIDTH

          public static final java.lang.String PIXEL_WIDTH

      `sCAL`: Physical width of pixel
      See Also:
        Constant Field Values

    - #### PIXEL_HEIGHT

          public static final java.lang.String PIXEL_HEIGHT

      `sCAL`: Physical height of pixel
      See Also:
        Constant Field Values

    - #### POSITION_UNIT

          public static final java.lang.String POSITION_UNIT

      `oFFs`: Unit for image offset
      See Also:
        Constant Field Values

    - #### STEREO_MODE

          public static final java.lang.String STEREO_MODE

      `sTER`: Indicator of stereo image
      See Also:
        Constant Field Values

    - #### COLOR_TYPE_GRAY

          public static final int COLOR_TYPE_GRAY

      `IHDR`: Grayscale color type
      See Also:
        Constant Field Values

    - #### COLOR_TYPE_GRAY_ALPHA

          public static final int COLOR_TYPE_GRAY_ALPHA

      `IHDR`: Grayscale+alpha color type
      See Also:
        Constant Field Values

    - #### COLOR_TYPE_PALETTE

          public static final int COLOR_TYPE_PALETTE

      `IHDR`: Palette color type
      See Also:
        Constant Field Values

    - #### COLOR_TYPE_RGB

          public static final int COLOR_TYPE_RGB

      `IHDR`: RGB color type
      See Also:
        Constant Field Values

    - #### COLOR_TYPE_RGB_ALPHA

          public static final int COLOR_TYPE_RGB_ALPHA

      `IHDR`: RGBA color type
      See Also:
        Constant Field Values

    - #### INTERLACE_NONE

          public static final int INTERLACE_NONE

      `IHDR`: No interlace
      See Also:
        Constant Field Values

    - #### INTERLACE_ADAM7

          public static final int INTERLACE_ADAM7

      `IHDR`: Adam7 interlace
      See Also:
        Constant Field Values

    - #### FILTER_BASE

          public static final int FILTER_BASE

      `IHDR`: Adaptive filtering
      See Also:
        Constant Field Values

    - #### COMPRESSION_BASE

          public static final int COMPRESSION_BASE

      `IHDR`: Deflate/inflate compression
      See Also:
        Constant Field Values

    - #### UNIT_UNKNOWN

          public static final int UNIT_UNKNOWN

      `pHYs`: Unit is unknown
      See Also:
        Constant Field Values

    - #### UNIT_METER

          public static final int UNIT_METER

      `pHYs`: Unit is the meter
      See Also:
        Constant Field Values

    - #### SRGB_PERCEPTUAL

          public static final int SRGB_PERCEPTUAL

      `sRGB`: Perceptual rendering intent
      See Also:
        Constant Field Values

    - #### SRGB_RELATIVE_COLORIMETRIC

          public static final int SRGB_RELATIVE_COLORIMETRIC

      `sRGB`: Relative colorimetric rendering intent
      See Also:
        Constant Field Values

    - #### SRGB_SATURATION_PRESERVING

          public static final int SRGB_SATURATION_PRESERVING

      `sRGB`: Saturation rendering intent
      See Also:
        Constant Field Values

    - #### SRGB_ABSOLUTE_COLORIMETRIC

          public static final int SRGB_ABSOLUTE_COLORIMETRIC

      `sRGB`: Absolute colormetric rendering intent
      See Also:
        Constant Field Values

    - #### POSITION_X

          public static final java.lang.String POSITION_X

      `oFFs`: Image X position
      See Also:
        Constant Field Values

    - #### POSITION_Y

          public static final java.lang.String POSITION_Y

      `oFFs`: Image Y position
      See Also:
        Constant Field Values

    - #### POSITION_UNIT_PIXEL

          public static final int POSITION_UNIT_PIXEL

      `oFFs`: Unit is the pixel (true dimensions unspecified)
      See Also:
        Constant Field Values

    - #### POSITION_UNIT_MICROMETER

          public static final int POSITION_UNIT_MICROMETER

      `oFFs`: Unit is the micrometer (10^-6 meter)
      See Also:
        Constant Field Values

    - #### SCALE_UNIT_METER

          public static final int SCALE_UNIT_METER

      `sCAL`: Unit is the meter
      See Also:
        Constant Field Values

    - #### SCALE_UNIT_RADIAN

          public static final int SCALE_UNIT_RADIAN

      `sCAL`: Unit is the radian
      See Also:
        Constant Field Values

    - #### STEREO_MODE_CROSS

          public static final int STEREO_MODE_CROSS

      `sTER`: Cross-fuse layout
      See Also:
        Constant Field Values

    - #### STEREO_MODE_DIVERGING

          public static final int STEREO_MODE_DIVERGING

      `sTER`: Diverging-fuse layout
      See Also:
        Constant Field Values

  - ### Constructor Detail

    - #### PngConstants

          public PngConstants()

  - ### Method Detail

    - #### isAncillary

          public static boolean isAncillary​(int chunkType)

      Returns `true` if the given chunk type has the ancillary bit set (the first letter is lowercase). An ancillary chunk is once which is not strictly necessary in order to meaningfully display the contents of the file.
      Parameters:
        `chunkType` - the chunk type
      Returns:
        whether the chunk type ancillary bit is set

    - #### isPrivate

          public static boolean isPrivate​(int chunkType)

      Returns `true` if the given chunk type has the private bit set (the second letter is lowercase). All unregistered chunk types should have this bit set.
      Parameters:
        `chunkType` - the chunk type
      Returns:
        whether the chunk type private bit is set

    - #### isReserved

          public static boolean isReserved​(int chunkType)

      Returns `true` if the given chunk type has the reserved bit set (the third letter is lowercase). The meaning of this bit is currently undefined, but reserved for future use. Images conforming to the current version of the PNG specification must not have this bit set.
      Parameters:
        `chunkType` - the chunk type
      Returns:
        whether the chunk type reserved bit is set

    - #### isSafeToCopy

          public static boolean isSafeToCopy​(int chunkType)

      Returns `true` if the given chunk type has the safe-to-copy bit set (the fourth letter is lowercase). Chunks marked as safe-to-copy may be copied to a modified PNG file whether or not the software recognizes the chunk type.
      Parameters:
        `chunkType` - the chunk type
      Returns:
        whether the chunk safe-to-copy bit is set

    - #### getChunkName

          public static java.lang.String getChunkName​(int chunkType)

      Returns the four-character ASCII name corresponding to the given chunk type. For example, `PngConstants.getChunkName(PngConstants.IHDR)` will return `"IHDR"`.
      Parameters:
        `chunkType` - the chunk type
      Returns:
        the four-character ASCII chunk name

    - #### getChunkType

          public static int getChunkType​(java.lang.String chunkName)

      Returns the chunk type corresponding to the given four-character ASCII chunk name.
      Parameters:
        `chunkName` - the four-character ASCII chunk name
      Returns:
        the chunk type
      Throws:
        `java.lang.NullPointerException` - if `name` is null
        `java.lang.IndexOutOfBoundsException` - if `name` has less than four characters