public class StackBlurFilter extends AbstractFilter
A stack blur filter can be used to create an approximation of a
Gaussian blur. The approximation is controlled by the number of times the
FastBlurFilter
is applied onto the source
picture. The default number of iterations, 3, provides a decent compromise
between speed and rendering quality.
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 independent from the radius.
Constructor and Description |
---|
StackBlurFilter()
Creates a new blur filter with a default radius of 3 and 3 iterations.
|
StackBlurFilter(int radius)
Creates a new blur filter with the specified radius and 3 iterations.
|
StackBlurFilter(int radius,
int iterations)
Creates a new blur filter with the specified radius.
|
Modifier and Type | Method and Description |
---|---|
BufferedImage |
filter(BufferedImage src,
BufferedImage dst) |
int |
getEffectiveRadius()
Returns the effective radius of the stack blur.
|
int |
getIterations()
Returns the number of iterations used to approximate a Gaussian
blur.
|
int |
getRadius()
Returns the radius used by this filter, in pixels.
|
createCompatibleDestImage, getBounds2D, getPoint2D, getRenderingHints
addPropertyChangeListener, addPropertyChangeListener, addVetoableChangeListener, addVetoableChangeListener, clone, fireIndexedPropertyChange, firePropertyChange, firePropertyChange, fireVetoableChange, fireVetoableChange, getPropertyChangeListeners, getPropertyChangeListeners, getVetoableChangeListeners, getVetoableChangeListeners, hasPropertyChangeListeners, hasVetoableChangeListeners, removePropertyChangeListener, removePropertyChangeListener, removeVetoableChangeListener, removeVetoableChangeListener
public StackBlurFilter()
Creates a new blur filter with a default radius of 3 and 3 iterations.
public StackBlurFilter(int radius)
Creates a new blur filter with the specified radius and 3 iterations. If the radius is lower than 1, a radius of 1 will be used automatically.
radius
- the radius, in pixels, of the blurpublic StackBlurFilter(int radius, int iterations)
Creates a new blur filter with the specified radius. If the radius is lower than 1, a radius of 1 will be used automatically. The number of iterations controls the approximation to a Gaussian blur. If the number of iterations is lower than 1, one iteration will be used automatically.
radius
- the radius, in pixels, of the bluriterations
- the number of iterations to approximate a Gaussian blurpublic int getEffectiveRadius()
Returns the effective radius of the stack blur. If the radius of the blur is 1 and the stack iterations count is 3, then the effective blur radius is 1 * 3 = 3.
public int getRadius()
Returns the radius used by this filter, in pixels.
public int getIterations()
Returns the number of iterations used to approximate a Gaussian blur.
public BufferedImage filter(BufferedImage src, BufferedImage dst)
filter
in interface BufferedImageOp
filter
in class AbstractFilter
Copyright © 2013. All rights reserved.