com.jhlabs.image

Class DiffusionFilter

Implemented Interfaces:
BufferedImageOp, 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, 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.
String
toString()

Methods inherited from class com.jhlabs.image.WholeImageFilter

filter, filterPixels, transformSpace

Methods inherited from class com.jhlabs.image.AbstractBufferedImageOp

clone, createCompatibleDestImage, getBounds2D, getPoint2D, getRGB, getRenderingHints, setRGB

Constructor Details

DiffusionFilter

public DiffusionFilter()
Construct a DiffusionFilter.

Method Details

filterPixels

protected int[] filterPixels(int width,
                             int height,
                             int[] inPixels,
                             Rectangle transformedSpace)
Actually filter the pixels.
Overrides:
filterPixels in interface WholeImageFilter
Parameters:
width - the image width
height - the image height
inPixels - the image pixels
transformedSpace - the output bounds
Returns:
the output pixels

getColorDither

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

getLevels

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

getMatrix

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

getSerpentine

public boolean getSerpentine()
Return the serpentine setting.
Returns:
the current setting

setColorDither

public void setColorDither(boolean colorDither)
Set whether to use a color dither.
Parameters:
colorDither - true to use a color dither

setLevels

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

setMatrix

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

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

toString

public String toString()