Package com.jhlabs.image
Class BoxBlurFilter
java.lang.Object
com.jhlabs.image.AbstractBufferedImageOp
com.jhlabs.image.BoxBlurFilter
- All Implemented Interfaces:
BufferedImageOp,Cloneable
A filter which performs a box blur on an image. The horizontal and vertical blurs can be specified separately
and a number of iterations can be given which allows an approximation to Gaussian blur.
-
Constructor Summary
ConstructorsConstructorDescriptionConstruct a default BoxBlurFilter.BoxBlurFilter(float hRadius, float vRadius, int iterations) Construct a BoxBlurFilter. -
Method Summary
Modifier and TypeMethodDescriptionstatic voidblur(int[] in, int[] out, int width, int height, float radius) Blur and transpose a block of ARGB pixels.static voidblurFractional(int[] in, int[] out, int width, int height, float radius) filter(BufferedImage src, BufferedImage dst) floatGet the horizontal size of the blur.intGet the number of iterations the blur is performed.booleanGet whether to premultiply the alpha channel.floatGet the size of the blur.floatGet the vertical size of the blur.voidsetHRadius(float hRadius) Set the horizontal size of the blur.voidsetIterations(int iterations) Set the number of iterations the blur is performed.voidsetPremultiplyAlpha(boolean premultiplyAlpha) Set whether to premultiply the alpha channel.voidsetRadius(float radius) Set both the horizontal and vertical sizes of the blur.voidsetVRadius(float vRadius) Set the vertical size of the blur.toString()Methods inherited from class com.jhlabs.image.AbstractBufferedImageOp
clone, createCompatibleDestImage, getBounds2D, getPoint2D, getRenderingHints, getRGB, setRGB
-
Constructor Details
-
BoxBlurFilter
public BoxBlurFilter()Construct a default BoxBlurFilter. -
BoxBlurFilter
public BoxBlurFilter(float hRadius, float vRadius, int iterations) Construct a BoxBlurFilter.- Parameters:
hRadius- the horizontal radius of blurvRadius- the vertical radius of bluriterations- the number of time to iterate the blur
-
-
Method Details
-
setPremultiplyAlpha
public void setPremultiplyAlpha(boolean premultiplyAlpha) Set whether to premultiply the alpha channel.- Parameters:
premultiplyAlpha- true to premultiply the alpha- See Also:
-
getPremultiplyAlpha
public boolean getPremultiplyAlpha()Get whether to premultiply the alpha channel.- Returns:
- true to premultiply the alpha
- See Also:
-
filter
-
blur
public static void blur(int[] in, int[] out, int width, int height, float radius) Blur and transpose a block of ARGB pixels.- Parameters:
in- the input pixelsout- the output pixelswidth- the width of the pixel arrayheight- the height of the pixel arrayradius- the radius of blur
-
blurFractional
public static void blurFractional(int[] in, int[] out, int width, int height, float radius) -
setHRadius
public void setHRadius(float hRadius) Set the horizontal size of the blur.- Parameters:
hRadius- the radius of the blur in the horizontal direction- See Also:
-
getHRadius
public float getHRadius()Get the horizontal size of the blur.- Returns:
- the radius of the blur in the horizontal direction
- See Also:
-
setVRadius
public void setVRadius(float vRadius) Set the vertical size of the blur.- Parameters:
vRadius- the radius of the blur in the vertical direction- See Also:
-
getVRadius
public float getVRadius()Get the vertical size of the blur.- Returns:
- the radius of the blur in the vertical direction
- See Also:
-
setRadius
public void setRadius(float radius) Set both the horizontal and vertical sizes of the blur.- Parameters:
radius- the radius of the blur in both directions- See Also:
-
getRadius
public float getRadius()Get the size of the blur.- Returns:
- the radius of the blur in the horizontal direction
- See Also:
-
setIterations
public void setIterations(int iterations) Set the number of iterations the blur is performed.- Parameters:
iterations- the number of iterations- See Also:
-
getIterations
public int getIterations()Get the number of iterations the blur is performed.- Returns:
- the number of iterations
- See Also:
-
toString
-