com.jhlabs.image
Class RippleFilter

java.lang.Object
  extended by com.jhlabs.image.AbstractBufferedImageOp
      extended by com.jhlabs.image.TransformFilter
          extended by com.jhlabs.image.RippleFilter
All Implemented Interfaces:
java.awt.image.BufferedImageOp, java.lang.Cloneable

public class RippleFilter
extends TransformFilter

A filter which distorts an image by rippling it in the X or Y directions. The amplitude and wavelength of rippling can be specified as well as whether pixels going off the edges are wrapped or not.


Field Summary
static int NOISE
          Noise ripples.
static int SAWTOOTH
          Sawtooth wave ripples.
static int SINE
          Sine wave ripples.
static int TRIANGLE
          Triangle wave ripples.
 
Fields inherited from class com.jhlabs.image.TransformFilter
BILINEAR, CLAMP, edgeAction, interpolation, NEAREST_NEIGHBOUR, originalSpace, RGB_CLAMP, transformedSpace, WRAP, ZERO
 
Constructor Summary
RippleFilter()
          Construct a RippleFilter.
 
Method Summary
 int getWaveType()
          Get the wave type.
 float getXAmplitude()
          Get the amplitude of ripple in the X direction.
 float getXWavelength()
          Get the wavelength of ripple in the X direction.
 float getYAmplitude()
          Get the amplitude of ripple in the Y direction.
 float getYWavelength()
          Get the wavelength of ripple in the Y direction.
 void setWaveType(int waveType)
          Set the wave type.
 void setXAmplitude(float xAmplitude)
          Set the amplitude of ripple in the X direction.
 void setXWavelength(float xWavelength)
          Set the wavelength of ripple in the X direction.
 void setYAmplitude(float yAmplitude)
          Set the amplitude of ripple in the Y direction.
 void setYWavelength(float yWavelength)
          Set the wavelength of ripple in the Y direction.
 java.lang.String toString()
           
protected  void transformInverse(int x, int y, float[] out)
          Inverse transform a point.
protected  void transformSpace(java.awt.Rectangle r)
          Forward transform a rectangle.
 
Methods inherited from class com.jhlabs.image.TransformFilter
filter, filterPixelsNN, getEdgeAction, getInterpolation, setEdgeAction, setInterpolation
 
Methods inherited from class com.jhlabs.image.AbstractBufferedImageOp
clone, createCompatibleDestImage, getBounds2D, getPoint2D, getRenderingHints, getRGB, setRGB
 
Methods inherited from class java.lang.Object
equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

SINE

public static final int SINE
Sine wave ripples.

See Also:
Constant Field Values

SAWTOOTH

public static final int SAWTOOTH
Sawtooth wave ripples.

See Also:
Constant Field Values

TRIANGLE

public static final int TRIANGLE
Triangle wave ripples.

See Also:
Constant Field Values

NOISE

public static final int NOISE
Noise ripples.

See Also:
Constant Field Values
Constructor Detail

RippleFilter

public RippleFilter()
Construct a RippleFilter.

Method Detail

setXAmplitude

public void setXAmplitude(float xAmplitude)
Set the amplitude of ripple in the X direction.

Parameters:
xAmplitude - the amplitude (in pixels).
See Also:
getXAmplitude()

getXAmplitude

public float getXAmplitude()
Get the amplitude of ripple in the X direction.

Returns:
the amplitude (in pixels).
See Also:
setXAmplitude(float)

setXWavelength

public void setXWavelength(float xWavelength)
Set the wavelength of ripple in the X direction.

Parameters:
xWavelength - the wavelength (in pixels).
See Also:
getXWavelength()

getXWavelength

public float getXWavelength()
Get the wavelength of ripple in the X direction.

Returns:
the wavelength (in pixels).
See Also:
setXWavelength(float)

setYAmplitude

public void setYAmplitude(float yAmplitude)
Set the amplitude of ripple in the Y direction.

Parameters:
yAmplitude - the amplitude (in pixels).
See Also:
getYAmplitude()

getYAmplitude

public float getYAmplitude()
Get the amplitude of ripple in the Y direction.

Returns:
the amplitude (in pixels).
See Also:
setYAmplitude(float)

setYWavelength

public void setYWavelength(float yWavelength)
Set the wavelength of ripple in the Y direction.

Parameters:
yWavelength - the wavelength (in pixels).
See Also:
getYWavelength()

getYWavelength

public float getYWavelength()
Get the wavelength of ripple in the Y direction.

Returns:
the wavelength (in pixels).
See Also:
setYWavelength(float)

setWaveType

public void setWaveType(int waveType)
Set the wave type.

Parameters:
waveType - the type.
See Also:
getWaveType()

getWaveType

public int getWaveType()
Get the wave type.

Returns:
the type.
See Also:
setWaveType(int)

transformSpace

protected void transformSpace(java.awt.Rectangle r)
Description copied from class: TransformFilter
Forward transform a rectangle. Used to determine the size of the output image.

Overrides:
transformSpace in class TransformFilter
Parameters:
r - the rectangle to transform

transformInverse

protected void transformInverse(int x,
                                int y,
                                float[] out)
Description copied from class: TransformFilter
Inverse transform a point. This method needs to be overriden by all subclasses.

Specified by:
transformInverse in class TransformFilter
Parameters:
x - the X position of the pixel in the output image
y - the Y position of the pixel in the output image
out - the position of the pixel in the input image

toString

public java.lang.String toString()
Overrides:
toString in class java.lang.Object