org.jdesktop.swingx.image
Class FastBlurFilter

java.lang.Object
  extended by org.jdesktop.beans.AbstractBean
      extended by org.jdesktop.swingx.image.AbstractFilter
          extended by org.jdesktop.swingx.image.FastBlurFilter
All Implemented Interfaces:
BufferedImageOp

public class FastBlurFilter
extends AbstractFilter

A fast blur filter can be used to blur pictures quickly. This filter is an implementation of the box blur algorithm. The blurs generated by this algorithm might show square artifacts, especially on pictures containing straight lines (rectangles, text, etc.) On most pictures though, the result will look very good.

The force of the blur can be controlled with a radius and the default radius is 3. Since the blur clamps values on the edges of the source picture, you might need to provide a picture with empty borders to avoid artifacts at the edges. The performance of this filter are independant from the radius.


Constructor Summary
FastBlurFilter()
          Creates a new blur filter with a default radius of 3.
FastBlurFilter(int radius)
          Creates a new blur filter with the specified radius.
 
Method Summary
 BufferedImage filter(BufferedImage src, BufferedImage dst)
          Performs a single-input/single-output operation on a BufferedImage.
 int getRadius()
          Returns the radius used by this filter, in pixels.
 
Methods inherited from class org.jdesktop.swingx.image.AbstractFilter
createCompatibleDestImage, getBounds2D, getPoint2D, getRenderingHints
 
Methods inherited from class org.jdesktop.beans.AbstractBean
addPropertyChangeListener, addPropertyChangeListener, addVetoableChangeListener, addVetoableChangeListener, clone, fireIndexedPropertyChange, firePropertyChange, firePropertyChange, fireVetoableChange, fireVetoableChange, getPropertyChangeListeners, getPropertyChangeListeners, getVetoableChangeListeners, getVetoableChangeListeners, hasPropertyChangeListeners, hasVetoableChangeListeners, removePropertyChangeListener, removePropertyChangeListener, removeVetoableChangeListener, removeVetoableChangeListener
 
Methods inherited from class java.lang.Object
equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

FastBlurFilter

public FastBlurFilter()

Creates a new blur filter with a default radius of 3.


FastBlurFilter

public FastBlurFilter(int radius)

Creates a new blur filter with the specified radius. If the radius is lower than 1, a radius of 1 will be used automatically.

Parameters:
radius - the radius, in pixels, of the blur
Method Detail

getRadius

public int getRadius()

Returns the radius used by this filter, in pixels.

Returns:
the radius of the blur

filter

public BufferedImage filter(BufferedImage src,
                            BufferedImage dst)
Performs a single-input/single-output operation on a BufferedImage. If the color models for the two images do not match, a color conversion into the destination color model is performed. If the destination image is null, a BufferedImage with an appropriate ColorModel is created.

An IllegalArgumentException may be thrown if the source and/or destination image is incompatible with the types of images $ allowed by the class implementing this filter.

Specified by:
filter in interface BufferedImageOp
Specified by:
filter in class AbstractFilter
Parameters:
src - The BufferedImage to be filtered
dst - The BufferedImage in which to store the results$
Returns:
The filtered BufferedImage.