com.jhlabs.image
Class FeedbackFilter

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

public class FeedbackFilter
extends AbstractBufferedImageOp

A filter which priduces a video feedback effect by repeated transformations.


Constructor Summary
FeedbackFilter()
          Construct a FeedbackFilter.
FeedbackFilter(float distance, float angle, float rotation, float zoom)
          Construct a FeedbackFilter.
 
Method Summary
 java.awt.image.BufferedImage filter(java.awt.image.BufferedImage src, java.awt.image.BufferedImage dst)
           
 float getAngle()
          Returns the angle of each iteration.
 java.awt.geom.Point2D getCentre()
          Get the centre of the effect as a proportion of the image size.
 float getCentreX()
          Get the centre of the effect in the X direction as a proportion of the image size.
 float getCentreY()
          Get the centre of the effect in the Y direction as a proportion of the image size.
 float getDistance()
          Get the distance to move on each iteration.
 float getEndAlpha()
          Get the alpha value at the last iteration.
 int getIterations()
          Get the number of iterations.
 float getRotation()
          Returns the amount of rotation on each iteration.
 float getStartAlpha()
          Get the alpha value at the first iteration.
 float getZoom()
          Returns the amount to scale on each iteration.
 void setAngle(float angle)
          Specifies the angle of each iteration.
 void setCentre(java.awt.geom.Point2D centre)
          Set the centre of the effect as a proportion of the image size.
 void setCentreX(float centreX)
          Set the centre of the effect in the X direction as a proportion of the image size.
 void setCentreY(float centreY)
          Set the centre of the effect in the Y direction as a proportion of the image size.
 void setDistance(float distance)
          Specifies the distance to move on each iteration.
 void setEndAlpha(float endAlpha)
          Set the alpha value at the last iteration.
 void setIterations(int iterations)
          Set the number of iterations.
 void setRotation(float rotation)
          Specifies the amount of rotation on each iteration.
 void setStartAlpha(float startAlpha)
          Set the alpha value at the first iteration.
 void setZoom(float zoom)
          Specifies the amount to scale on each iteration.
 java.lang.String toString()
           
 
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

FeedbackFilter

public FeedbackFilter()
Construct a FeedbackFilter.


FeedbackFilter

public FeedbackFilter(float distance,
                      float angle,
                      float rotation,
                      float zoom)
Construct a FeedbackFilter.

Parameters:
distance - the distance to move on each iteration
angle - the angle to move on each iteration
rotation - the amount to rotate on each iteration
zoom - the amount to scale on each iteration
Method Detail

setAngle

public void setAngle(float angle)
Specifies the angle of each iteration.

Parameters:
angle - the angle of each iteration.
See Also:
getAngle()

getAngle

public float getAngle()
Returns the angle of each iteration.

Returns:
the angle of each iteration.
See Also:
setAngle(float)

setDistance

public void setDistance(float distance)
Specifies the distance to move on each iteration.

Parameters:
distance - the distance
See Also:
getDistance()

getDistance

public float getDistance()
Get the distance to move on each iteration.

Returns:
the distance
See Also:
setDistance(float)

setRotation

public void setRotation(float rotation)
Specifies the amount of rotation on each iteration.

Parameters:
rotation - the angle of rotation
See Also:
getRotation()

getRotation

public float getRotation()
Returns the amount of rotation on each iteration.

Returns:
the angle of rotation
See Also:
setRotation(float)

setZoom

public void setZoom(float zoom)
Specifies the amount to scale on each iteration.

Parameters:
zoom - the zoom factor
See Also:
getZoom()

getZoom

public float getZoom()
Returns the amount to scale on each iteration.

Returns:
the zoom factor
See Also:
setZoom(float)

setStartAlpha

public void setStartAlpha(float startAlpha)
Set the alpha value at the first iteration.

Parameters:
startAlpha - the alpha value
See Also:
getStartAlpha()

getStartAlpha

public float getStartAlpha()
Get the alpha value at the first iteration.

Returns:
the alpha value
See Also:
setStartAlpha(float)

setEndAlpha

public void setEndAlpha(float endAlpha)
Set the alpha value at the last iteration.

Parameters:
endAlpha - the alpha value
See Also:
getEndAlpha()

getEndAlpha

public float getEndAlpha()
Get the alpha value at the last iteration.

Returns:
the alpha value
See Also:
setEndAlpha(float)

setCentreX

public void setCentreX(float centreX)
Set the centre of the effect in the X direction as a proportion of the image size.

Parameters:
centreX - the center
See Also:
getCentreX()

getCentreX

public float getCentreX()
Get the centre of the effect in the X direction as a proportion of the image size.

Returns:
the center
See Also:
setCentreX(float)

setCentreY

public void setCentreY(float centreY)
Set the centre of the effect in the Y direction as a proportion of the image size.

Parameters:
centreY - the center
See Also:
getCentreY()

getCentreY

public float getCentreY()
Get the centre of the effect in the Y direction as a proportion of the image size.

Returns:
the center
See Also:
setCentreY(float)

setCentre

public void setCentre(java.awt.geom.Point2D centre)
Set the centre of the effect as a proportion of the image size.

Parameters:
centre - the center
See Also:
getCentre()

getCentre

public java.awt.geom.Point2D getCentre()
Get the centre of the effect as a proportion of the image size.

Returns:
the center
See Also:
setCentre(java.awt.geom.Point2D)

setIterations

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

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

getIterations

public int getIterations()
Get the number of iterations.

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

filter

public java.awt.image.BufferedImage filter(java.awt.image.BufferedImage src,
                                           java.awt.image.BufferedImage dst)

toString

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