com.jhlabs.image
Class OctTreeQuantizer

java.lang.Object
  extended by com.jhlabs.image.OctTreeQuantizer
All Implemented Interfaces:
Quantizer

public class OctTreeQuantizer
extends java.lang.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 Summary
OctTreeQuantizer()
           
 
Method Summary
 void addPixels(int[] pixels, int offset, int count)
          Add pixels to the quantizer.
 int[] buildColorTable()
           
 void buildColorTable(int[] inPixels, int[] table)
          A quick way to use the quantizer.
 int getIndexForColor(int rgb)
           
 void setup(int numColors)
          Initialize the quantizer.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

OctTreeQuantizer

public OctTreeQuantizer()
Method Detail

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)
Specified by:
getIndexForColor in interface Quantizer

buildColorTable

public int[] buildColorTable()
Specified by:
buildColorTable in interface Quantizer

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.