railo.runtime.img.filter
Class BoxBlurFilter

java.lang.Object
  extended by railo.runtime.img.filter.AbstractBufferedImageOp
      extended by railo.runtime.img.filter.BoxBlurFilter
All Implemented Interfaces:
BufferedImageOp, Cloneable, DynFiltering

public class BoxBlurFilter
extends AbstractBufferedImageOp
implements DynFiltering

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
BoxBlurFilter()
          Construct a default BoxBlurFilter.
BoxBlurFilter(float hRadius, float vRadius, int iterations)
          Construct a BoxBlurFilter.
 
Method Summary
static void blur(int[] in, int[] out, int width, int height, float radius)
          Blur and transpose a block of ARGB pixels.
static void blurFractional(int[] in, int[] out, int width, int height, float radius)
           
 BufferedImage filter(BufferedImage src, BufferedImage dst)
           
 BufferedImage filter(BufferedImage src, Struct parameters)
           
 float getHRadius()
          Get the horizontal size of the blur.
 int getIterations()
          Get the number of iterations the blur is performed.
 boolean getPremultiplyAlpha()
          Get whether to premultiply the alpha channel.
 float getRadius()
          Get the size of the blur.
 float getVRadius()
          Get the vertical size of the blur.
 void setHRadius(float hRadius)
          Set the horizontal size of the blur.
 void setIterations(int iterations)
          Set the number of iterations the blur is performed.
 void setPremultiplyAlpha(boolean premultiplyAlpha)
          Set whether to premultiply the alpha channel.
 void setRadius(float radius)
          Set both the horizontal and vertical sizes of the blur.
 void setVRadius(float vRadius)
          Set the vertical size of the blur.
 String toString()
           
 
Methods inherited from class railo.runtime.img.filter.AbstractBufferedImageOp
clone, createCompatibleDestImage, getBounds2D, getPoint2D, getRenderingHints, getRGB, setRGB
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Constructor Detail

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 blur
vRadius - the vertical radius of blur
iterations - the number of time to iterate the blur
Method Detail

setPremultiplyAlpha

public void setPremultiplyAlpha(boolean premultiplyAlpha)
Set whether to premultiply the alpha channel.

Parameters:
premultiplyAlpha - true to premultiply the alpha
See Also:
getPremultiplyAlpha()

getPremultiplyAlpha

public boolean getPremultiplyAlpha()
Get whether to premultiply the alpha channel.

Returns:
true to premultiply the alpha
See Also:
setPremultiplyAlpha(boolean)

filter

public BufferedImage filter(BufferedImage src,
                            BufferedImage dst)
Specified by:
filter in interface BufferedImageOp

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 pixels
out - the output pixels
width - the width of the pixel array
height - the height of the pixel array
radius - 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()

getHRadius

public float getHRadius()
Get the horizontal size of the blur.

Returns:
the radius of the blur in the horizontal direction
See Also:
setHRadius(float)

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()

getVRadius

public float getVRadius()
Get the vertical size of the blur.

Returns:
the radius of the blur in the vertical direction
See Also:
setVRadius(float)

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()

getRadius

public float getRadius()
Get the size of the blur.

Returns:
the radius of the blur in the horizontal direction
See Also:
setRadius(float)

setIterations

public void setIterations(int iterations)
Set the number of iterations the blur is performed.

Parameters:
iterations - the number of iterations
See Also:
getIterations()

getIterations

public int getIterations()
Get the number of iterations the blur is performed.

Returns:
the number of iterations
See Also:
setIterations(int)

toString

public String toString()
Overrides:
toString in class Object

filter

public BufferedImage filter(BufferedImage src,
                            Struct parameters)
                     throws PageException
Specified by:
filter in interface DynFiltering
Throws:
PageException


Copyright © 2012 Railo