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:
java.awt.image.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.

Author:
Romain Guy

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
 java.awt.image.BufferedImage filter(java.awt.image.BufferedImage src, java.awt.image.BufferedImage dst)
          
 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, getPropertyChangeListeners, getPropertyChangeListeners, getVetoableChangeListeners, getVetoableChangeListeners, removePropertyChangeListener, removePropertyChangeListener, removeVetoableChangeListener, removeVetoableChangeListener
 
Methods inherited from class java.lang.Object
equals, 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 java.awt.image.BufferedImage filter(java.awt.image.BufferedImage src,
                                           java.awt.image.BufferedImage dst)

Specified by:
filter in interface java.awt.image.BufferedImageOp
Specified by:
filter in class AbstractFilter