com.sun.media.jai.codec
Class PNGEncodeParam.Palette

java.lang.Object
  extended bycom.sun.media.jai.codec.PNGEncodeParam
      extended bycom.sun.media.jai.codec.PNGEncodeParam.Palette
All Implemented Interfaces:
Cloneable, ImageDecodeParam, ImageEncodeParam, Serializable
Enclosing class:
PNGEncodeParam

public static class PNGEncodeParam.Palette
extends PNGEncodeParam

See Also:
Serialized Form

Nested Class Summary
 
Nested classes inherited from class com.sun.media.jai.codec.PNGEncodeParam
PNGEncodeParam.Gray, PNGEncodeParam.Palette, PNGEncodeParam.RGB
 
Field Summary
 
Fields inherited from class com.sun.media.jai.codec.PNGEncodeParam
bitDepth, bitDepthSet, INTENT_ABSOLUTE, INTENT_PERCEPTUAL, INTENT_RELATIVE, INTENT_SATURATION, PNG_FILTER_AVERAGE, PNG_FILTER_NONE, PNG_FILTER_PAETH, PNG_FILTER_SUB, PNG_FILTER_UP
 
Constructor Summary
PNGEncodeParam.Palette()
          Constructs an instance of PNGEncodeParam.Palette.
 
Method Summary
 int getBackgroundPaletteIndex()
          Returns the palette index of the suggested background color.
 int[] getPalette()
          Returns the current RGB palette.
 byte[] getPaletteTransparency()
          Returns the alpha values associated with each palette entry.
 boolean isBackgroundSet()
          Returns true if a 'bKGD' chunk will be output.
 boolean isPaletteSet()
          Returns true if a 'PLTE' chunk will be output.
 void setBackgroundPaletteIndex(int index)
          Sets the palette index of the suggested background color.
 void setBitDepth(int bitDepth)
          Sets the desired bit depth for a palette image.
 void setPalette(int[] rgb)
          Sets the RGB palette of the image to be encoded.
 void setPaletteTransparency(byte[] alpha)
          Sets the alpha values associated with each palette entry.
 void unsetBackground()
          Suppresses the 'bKGD' chunk from being output.
 void unsetPalette()
          Suppresses the 'PLTE' chunk from being output.
 
Methods inherited from class com.sun.media.jai.codec.PNGEncodeParam
addPrivateChunk, filterRow, getBitDepth, getChromaticity, getCompressedText, getDefaultEncodeParam, getGamma, getICCProfileData, getICCProfileName, getInterlacing, getModificationTime, getNumPrivateChunks, getPaletteHistogram, getPhysicalDimension, getPrivateChunkData, getPrivateChunkType, getSignificantBits, getSRGBIntent, getSuggestedPalette, getText, isChromaticitySet, isCompressedTextSet, isGammaSet, isICCProfileDataSet, isModificationTimeSet, isPaletteHistogramSet, isPhysicalDimensionSet, isSignificantBitsSet, isSRGBIntentSet, isSuggestedPaletteSet, isTextSet, isTransparencySet, paethPredictor, removeAllPrivateChunks, removeUnsafeToCopyPrivateChunks, setChromaticity, setChromaticity, setCompressedText, setGamma, setICCProfileData, setICCProfileName, setInterlacing, setModificationTime, setPaletteHistogram, setPhysicalDimension, setPhysicalDimension, setSignificantBits, setSRGBIntent, setSuggestedPalette, setText, unsetBitDepth, unsetChromaticity, unsetCompressedText, unsetGamma, unsetICCProfileData, unsetModificationTime, unsetPaletteHistogram, unsetPhysicalDimension, unsetSignificantBits, unsetSRGBIntent, unsetSuggestedPalette, unsetText, unsetTransparency
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

PNGEncodeParam.Palette

public PNGEncodeParam.Palette()
Constructs an instance of PNGEncodeParam.Palette.

Method Detail

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.