Package com.jhlabs.image
Class GaussianFilter
- java.lang.Object
-
- com.jhlabs.image.AbstractBufferedImageOp
-
- com.jhlabs.image.ConvolveFilter
-
- com.jhlabs.image.GaussianFilter
-
- All Implemented Interfaces:
java.awt.image.BufferedImageOp
,java.lang.Cloneable
- Direct Known Subclasses:
GlowFilter
,HighPassFilter
,UnsharpFilter
public class GaussianFilter extends ConvolveFilter
A filter which applies Gaussian blur to an image. This is a subclass of ConvolveFilter which simply creates a kernel with a Gaussian distribution for blurring.- Author:
- Jerry Huxtable
-
-
Field Summary
Fields Modifier and Type Field Description protected java.awt.image.Kernel
kernel
The convolution kernel.protected float
radius
The blur radius.-
Fields inherited from class com.jhlabs.image.ConvolveFilter
alpha, CLAMP_EDGES, premultiplyAlpha, WRAP_EDGES, ZERO_EDGES
-
-
Constructor Summary
Constructors Constructor Description GaussianFilter()
Construct a Gaussian filter.GaussianFilter(float radius)
Construct a Gaussian filter.
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description static void
convolveAndTranspose(java.awt.image.Kernel kernel, int[] inPixels, int[] outPixels, int width, int height, boolean alpha, boolean premultiply, boolean unpremultiply, int edgeAction)
Blur and transpose a block of ARGB pixels.java.awt.image.BufferedImage
filter(java.awt.image.BufferedImage src, java.awt.image.BufferedImage dst)
float
getRadius()
Get the radius of the kernel.static java.awt.image.Kernel
makeKernel(float radius)
Make a Gaussian blur kernel.void
setRadius(float radius)
Set the radius of the kernel, and hence the amount of blur.java.lang.String
toString()
-
Methods inherited from class com.jhlabs.image.ConvolveFilter
convolve, convolve, convolveH, convolveHV, convolveV, createCompatibleDestImage, getBounds2D, getEdgeAction, getKernel, getPoint2D, getPremultiplyAlpha, getRenderingHints, getUseAlpha, setEdgeAction, setKernel, setPremultiplyAlpha, setUseAlpha
-
Methods inherited from class com.jhlabs.image.AbstractBufferedImageOp
clone, getRGB, setRGB, stringToColor
-
-
-
-
Method Detail
-
setRadius
public void setRadius(float radius)
Set the radius of the kernel, and hence the amount of blur. The bigger the radius, the longer this filter will take.- Parameters:
radius
- the radius of the blur in pixels, min-value 0, max-value 100+.- See Also:
getRadius()
-
getRadius
public float getRadius()
Get the radius of the kernel.- Returns:
- the radius
- See Also:
setRadius(float)
-
filter
public java.awt.image.BufferedImage filter(java.awt.image.BufferedImage src, java.awt.image.BufferedImage dst)
- Specified by:
filter
in interfacejava.awt.image.BufferedImageOp
- Overrides:
filter
in classConvolveFilter
-
convolveAndTranspose
public static void convolveAndTranspose(java.awt.image.Kernel kernel, int[] inPixels, int[] outPixels, int width, int height, boolean alpha, boolean premultiply, boolean unpremultiply, int edgeAction)
Blur and transpose a block of ARGB pixels.- Parameters:
kernel
- the blur kernelinPixels
- the input pixelsoutPixels
- the output pixelswidth
- the width of the pixel arrayheight
- the height of the pixel arrayalpha
- whether to blur the alpha channelpremultiply
- whether to premultiplyunpremultiply
- whether to unpremultiplyedgeAction
- what to do at the edges
-
makeKernel
public static java.awt.image.Kernel makeKernel(float radius)
Make a Gaussian blur kernel.- Parameters:
radius
- the blur radius- Returns:
- the kernel
-
toString
public java.lang.String toString()
- Overrides:
toString
in classConvolveFilter
-
-