Class PNGEncodeParam.Palette

java.lang.Object
org.apache.xmlgraphics.image.codec.png.PNGEncodeParam
org.apache.xmlgraphics.image.codec.png.PNGEncodeParam.Palette
All Implemented Interfaces:
Serializable, Cloneable, ImageDecodeParam, ImageEncodeParam
Enclosing class:
PNGEncodeParam

public static class PNGEncodeParam.Palette extends PNGEncodeParam
See Also:
  • Constructor Details

    • Palette

      public Palette()
      Constructs an instance of PNGEncodeParam.Palette.
  • Method Details

    • unsetBackground

      public void unsetBackground()
      Suppresses the 'bKGD' chunk from being output.
      Overrides:
      unsetBackground in class PNGEncodeParam
    • isBackgroundSet

      public boolean isBackgroundSet()
      Returns true if a 'bKGD' chunk will be output.
      Overrides:
      isBackgroundSet in class PNGEncodeParam
    • setBitDepth

      public void setBitDepth(int bitDepth)
      Sets the desired bit depth for a palette image. The bit depth must be one of 1, 2, 4, or 8, or else an IllegalArgumentException will be thrown.
      Specified by:
      setBitDepth in class PNGEncodeParam
    • setPalette

      public void setPalette(int[] rgb)
      Sets the RGB palette of the image to be encoded. The rgb parameter contains alternating R, G, B values for each color index used in the image. The number of elements must be a multiple of 3 between 3 and 3*256.

      The 'PLTE' chunk will encode this information.

      Parameters:
      rgb - An array of ints.
    • getPalette

      public int[] getPalette()
      Returns the current RGB palette.

      If the palette has not previously been set, or has been unset, an IllegalStateException will be thrown.

      Returns:
      An array of ints.
      Throws:
      IllegalStateException - if the palette is not set.
    • unsetPalette

      public void unsetPalette()
      Suppresses the 'PLTE' chunk from being output.
    • isPaletteSet

      public boolean isPaletteSet()
      Returns true if a 'PLTE' chunk will be output.
    • setBackgroundPaletteIndex

      public void setBackgroundPaletteIndex(int index)
      Sets the palette index of the suggested background color.

      The 'bKGD' chunk will encode this information.

    • getBackgroundPaletteIndex

      public int getBackgroundPaletteIndex()
      Returns the palette index of the suggested background color.

      If the background palette index has not previously been set, or has been unset, an IllegalStateException will be thrown.

      Throws:
      IllegalStateException - if the palette index is not set.
    • setPaletteTransparency

      public void setPaletteTransparency(byte[] alpha)
      Sets the alpha values associated with each palette entry. The alpha parameter should have as many entries as there are RGB triples in the palette.

      The 'tRNS' chunk will encode this information.

    • getPaletteTransparency

      public byte[] getPaletteTransparency()
      Returns the alpha values associated with each palette entry.

      If the palette transparency has not previously been set, or has been unset, an IllegalStateException will be thrown.

      Throws:
      IllegalStateException - if the palette transparency is not set.