java.awt.image.BufferedImageOp
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 independant from the radius.
Constructor | 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 | Description |
---|---|---|
java.awt.image.BufferedImage |
filter(java.awt.image.BufferedImage src,
java.awt.image.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.
|
addPropertyChangeListener, addPropertyChangeListener, addVetoableChangeListener, addVetoableChangeListener, clone, fireIndexedPropertyChange, firePropertyChange, firePropertyChange, fireVetoableChange, fireVetoableChange, getPropertyChangeListeners, getPropertyChangeListeners, getVetoableChangeListeners, getVetoableChangeListeners, hasPropertyChangeListeners, hasVetoableChangeListeners, removePropertyChangeListener, removePropertyChangeListener, removeVetoableChangeListener, removeVetoableChangeListener
createCompatibleDestImage, getBounds2D, getPoint2D, getRenderingHints
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 java.awt.image.BufferedImage filter(java.awt.image.BufferedImage src, java.awt.image.BufferedImage dst)
filter
in interface java.awt.image.BufferedImageOp
filter
in class AbstractFilter