Class CustomPaletteBuilder


  • public final class CustomPaletteBuilder
    extends Object
    This class implements the octree quantization method as it is described in the "Graphics Gems" (ISBN 0-12-286166-3, Chapter 4, pages 297-293)
    Author:
    Simone Giannecchini - GeoSolutions
    • Field Detail

      • DEFAULT_ALPHA_TH

        public static final int DEFAULT_ALPHA_TH
        Default value for the threshold to decide whether a pixel is opaque (>=) or transparent (<). Default is 1 to try to preserve antialising
        See Also:
        Constant Field Values
      • maxLevel

        protected int maxLevel
        maximum of tree depth
      • src

        protected RenderedImage src
      • srcColorModel

        protected ColorModel srcColorModel
      • requiredSize

        protected int requiredSize
      • numNodes

        protected int numNodes
      • maxNodes

        protected int maxNodes
      • currLevel

        protected int currLevel
      • currSize

        protected int currSize
      • transparency

        protected int transparency
      • subsampleX

        protected int subsampleX
      • subsampley

        protected int subsampley
      • numBands

        protected int numBands
      • alphaThreshold

        protected int alphaThreshold
    • Constructor Detail

      • CustomPaletteBuilder

        public CustomPaletteBuilder​(RenderedImage src)
      • CustomPaletteBuilder

        public CustomPaletteBuilder​(RenderedImage src,
                                    int size,
                                    int subsx,
                                    int subsy,
                                    int alpha_th)
    • Method Detail

      • canCreatePalette

        public static boolean canCreatePalette​(ImageTypeSpecifier type)
        Returns true if PaletteBuilder is able to create palette for given image type.
        Parameters:
        type - an instance of ImageTypeSpecifier to be indexed.
        Returns:
        true if the PaletteBuilder is likely to be able to create palette for this image type.
        Throws:
        IllegalArgumentException - if type is null.
      • canCreatePalette

        public static boolean canCreatePalette​(RenderedImage image)
        Returns true if PaletteBuilder is able to create palette for given rendered image.
        Parameters:
        image - an instance of RenderedImage to be indexed.
        Returns:
        true if the PaletteBuilder is likely to be able to create palette for this image type.
        Throws:
        IllegalArgumentException - if image is null.
      • getIndexedImage

        public RenderedImage getIndexedImage()
      • getIndexColorModel

        public IndexColorModel getIndexColorModel()
      • getBranchIndex

        protected int getBranchIndex​(int[] rgba,
                                     int aLevel)
      • reduceTree

        protected void reduceTree()
      • findNearestColorIndex

        public int findNearestColorIndex​(int[] rgba,
                                         int transparentBand)