com.jhlabs.image
Class TwirlFilter

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

public class TwirlFilter
extends TransformFilter

A Filter which distorts an image by twisting it from the centre out. The twisting is centred at the centre of the image and extends out to the smallest of the width and height. Pixels outside this radius are unaffected.


Field Summary
 
Fields inherited from class com.jhlabs.image.TransformFilter
BILINEAR, CLAMP, edgeAction, interpolation, NEAREST_NEIGHBOUR, originalSpace, transformedSpace, WRAP, ZERO
 
Constructor Summary
TwirlFilter()
          Construct a TwirlFilter with no distortion.
 
Method Summary
 java.awt.image.BufferedImage filter(java.awt.image.BufferedImage src, java.awt.image.BufferedImage dst)
           
 float getAngle()
          Get the angle of twist.
 java.awt.geom.Point2D getCentre()
           
 float getCentreX()
           
 float getCentreY()
           
 float getRadius()
           
 void setAngle(float angle)
          Set the angle of twirl in radians.
 void setCentre(java.awt.geom.Point2D centre)
           
 void setCentreX(float centreX)
           
 void setCentreY(float centreY)
           
 void setRadius(float radius)
           
 java.lang.String toString()
           
protected  void transformInverse(int x, int y, float[] out)
           
 
Methods inherited from class com.jhlabs.image.TransformFilter
filterPixelsNN, getEdgeAction, getInterpolation, setEdgeAction, setInterpolation, transformSpace
 
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
 

Constructor Detail

TwirlFilter

public TwirlFilter()
Construct a TwirlFilter with no distortion.

Method Detail

setAngle

public void setAngle(float angle)
Set the angle of twirl in radians. 0 means no distortion.

Parameters:
angle - the angle of twirl. This is the angle by which pixels at the nearest edge of the image will move.

getAngle

public float getAngle()
Get the angle of twist.

Returns:
the angle in radians.

setCentreX

public void setCentreX(float centreX)

getCentreX

public float getCentreX()

setCentreY

public void setCentreY(float centreY)

getCentreY

public float getCentreY()

setCentre

public void setCentre(java.awt.geom.Point2D centre)

getCentre

public java.awt.geom.Point2D getCentre()

setRadius

public void setRadius(float radius)

getRadius

public float getRadius()

filter

public java.awt.image.BufferedImage filter(java.awt.image.BufferedImage src,
                                           java.awt.image.BufferedImage dst)
Specified by:
filter in interface java.awt.image.BufferedImageOp
Overrides:
filter in class TransformFilter

transformInverse

protected void transformInverse(int x,
                                int y,
                                float[] out)
Specified by:
transformInverse in class TransformFilter

toString

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