Class 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

      Constructors 
      Constructor Description
      FeedbackFilter()
      Construct a FeedbackFilter.
      FeedbackFilter​(float distance, float angle, float rotation, float zoom)
      Construct a FeedbackFilter.
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      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 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, min-value 0, max-value 1.
        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, min-value 0, max-value 1
        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, min-value 0
        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