Class CustomPaletteBuilder

Object
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 Details

    • 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:
    • maxLevel

      protected int maxLevel
      maximum of tree depth
    • src

      protected RenderedImage src
    • srcColorModel

      protected ColorModel srcColorModel
    • requiredSize

      protected int requiredSize
    • root

    • numNodes

      protected int numNodes
    • maxNodes

      protected int maxNodes
    • currLevel

      protected int currLevel
    • currSize

      protected int currSize
    • reduceList

      protected CustomPaletteBuilder.ColorNode[] reduceList
    • palette

      protected CustomPaletteBuilder.ColorNode[] palette
    • transparency

      protected int transparency
    • transColor

      protected CustomPaletteBuilder.ColorNode transColor
    • subsampleX

      protected int subsampleX
    • subsampley

      protected int subsampley
    • numBands

      protected int numBands
    • alphaThreshold

      protected int alphaThreshold
  • Constructor Details

    • CustomPaletteBuilder

      public CustomPaletteBuilder(RenderedImage src)
    • CustomPaletteBuilder

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

    • 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()
    • findColorIndex

      protected int findColorIndex(CustomPaletteBuilder.ColorNode aNode, int[] rgba, int transpBand)
    • buildPalette

      public CustomPaletteBuilder buildPalette()
    • insertNode

      protected CustomPaletteBuilder.ColorNode insertNode(CustomPaletteBuilder.ColorNode aNode, int[] rgba, int aLevel)
    • getIndexColorModel

      public IndexColorModel getIndexColorModel()
    • findPaletteEntry

      protected int findPaletteEntry(CustomPaletteBuilder.ColorNode aNode, int index, byte[] red, byte[] green, byte[] blue)
    • getBranchIndex

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

      protected void reduceTree()
    • freeTree

    • findNearestColorIndex

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