com.jhlabs.image
Class DiffusionFilter

java.lang.Object
  extended by com.jhlabs.image.AbstractBufferedImageOp
      extended by com.jhlabs.image.WholeImageFilter
          extended by com.jhlabs.image.DiffusionFilter
All Implemented Interfaces:
java.awt.image.BufferedImageOp, java.lang.Cloneable

public class DiffusionFilter
extends WholeImageFilter

A filter which uses Floyd-Steinberg error diffusion dithering to halftone an image.


Field Summary
 
Fields inherited from class com.jhlabs.image.WholeImageFilter
originalSpace, transformedSpace
 
Constructor Summary
DiffusionFilter()
          Construct a DiffusionFilter.
 
Method Summary
protected  int[] filterPixels(int width, int height, int[] inPixels, java.awt.Rectangle transformedSpace)
          Actually filter the pixels.
 boolean getColorDither()
          Get whether to use a color dither.
 int getLevels()
          Get the number of dither levels.
 int[] getMatrix()
          Get the dither matrix.
 boolean getSerpentine()
          Return the serpentine setting.
 void setColorDither(boolean colorDither)
          Set whether to use a color dither.
 void setLevels(int levels)
          Set the number of dither levels.
 void setMatrix(int[] matrix)
          Set the dither matrix.
 void setSerpentine(boolean serpentine)
          Set whether to use a serpentine pattern for return or not.
 java.lang.String toString()
           
 
Methods inherited from class com.jhlabs.image.WholeImageFilter
filter, transformSpace
 
Methods inherited from class com.jhlabs.image.AbstractBufferedImageOp
clone, createCompatibleDestImage, getBounds2D, getPoint2D, getRenderingHints, getRGB, setRGB
 
Methods inherited from class java.lang.Object
equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Constructor Detail

DiffusionFilter

public DiffusionFilter()
Construct a DiffusionFilter.

Method Detail

setSerpentine

public void setSerpentine(boolean serpentine)
Set whether to use a serpentine pattern for return or not. This can reduce 'avalanche' artifacts in the output.

Parameters:
serpentine - true to use serpentine pattern
See Also:
getSerpentine()

getSerpentine

public boolean getSerpentine()
Return the serpentine setting.

Returns:
the current setting
See Also:
setSerpentine(boolean)

setColorDither

public void setColorDither(boolean colorDither)
Set whether to use a color dither.

Parameters:
colorDither - true to use a color dither
See Also:
getColorDither()

getColorDither

public boolean getColorDither()
Get whether to use a color dither.

Returns:
true to use a color dither
See Also:
setColorDither(boolean)

setMatrix

public void setMatrix(int[] matrix)
Set the dither matrix.

Parameters:
matrix - the dither matrix
See Also:
getMatrix()

getMatrix

public int[] getMatrix()
Get the dither matrix.

Returns:
the dither matrix
See Also:
setMatrix(int[])

setLevels

public void setLevels(int levels)
Set the number of dither levels.

Parameters:
levels - the number of levels
See Also:
getLevels()

getLevels

public int getLevels()
Get the number of dither levels.

Returns:
the number of levels
See Also:
setLevels(int)

filterPixels

protected int[] filterPixels(int width,
                             int height,
                             int[] inPixels,
                             java.awt.Rectangle transformedSpace)
Description copied from class: WholeImageFilter
Actually filter the pixels.

Specified by:
filterPixels in class WholeImageFilter
Parameters:
width - the image width
height - the image height
inPixels - the image pixels
transformedSpace - the output bounds
Returns:
the output pixels

toString

public java.lang.String toString()
Overrides:
toString in class java.lang.Object