java.lang.Object
org.jivesoftware.smackx.jingleold.mediaimpl.sshare.api.OctTreeQuantizer
All Implemented Interfaces:
Quantizer

public class OctTreeQuantizer extends Object implements Quantizer
An image Quantizer based on the Octree algorithm. This is a very basic implementation at present and could be much improved by picking the nodes to reduce more carefully (i.e. not completely at random) when I get the time.
  • Constructor Details

  • Method Details

    • setup

      public void setup(int numColors)
      Initialize the quantizer. This should be called before adding any pixels.
      Specified by:
      setup in interface Quantizer
      Parameters:
      numColors - the number of colors we're quantizing to.
    • addPixels

      public void addPixels(int[] pixels, int offset, int count)
      Add pixels to the quantizer.
      Specified by:
      addPixels in interface Quantizer
      Parameters:
      pixels - the array of ARGB pixels
      offset - the offset into the array
      count - the count of pixels
    • getIndexForColor

      public int getIndexForColor(int rgb)
      Get the color table index for a color.
      Specified by:
      getIndexForColor in interface Quantizer
      Parameters:
      rgb - the color
      Returns:
      the index
    • buildColorTable

      public int[] buildColorTable()
      Build the color table.
      Specified by:
      buildColorTable in interface Quantizer
      Returns:
      the color table
    • buildColorTable

      public void buildColorTable(int[] inPixels, int[] table)
      A quick way to use the quantizer. Just create a table the right size and pass in the pixels.
      Parameters:
      inPixels - the input colors
      table - the output color table