Package com.jhlabs.image
Class TwirlFilter
java.lang.Object
com.jhlabs.image.AbstractBufferedImageOp
com.jhlabs.image.TransformFilter
com.jhlabs.image.TwirlFilter
- All Implemented Interfaces:
BufferedImageOp
,Cloneable
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, RGB_CLAMP, transformedSpace, WRAP, ZERO
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionfilter
(BufferedImage src, BufferedImage dst) float
getAngle()
Get the angle of twist.Get the centre of the effect as a proportion of the image size.float
Get the centre of the effect in the X direction as a proportion of the image size.float
Get the centre of the effect in the Y direction as a proportion of the image size.float
Get the radius of the effect.void
setAngle
(float angle) Set the angle of twirl in radians.void
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
setRadius
(float radius) Set the radius of the effect.toString()
protected void
transformInverse
(int x, int y, float[] out) Inverse transform a point.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
-
Constructor Details
-
TwirlFilter
public TwirlFilter()Construct a TwirlFilter with no distortion.
-
-
Method Details
-
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.- See Also:
-
getAngle
public float getAngle()Get the angle of twist.- Returns:
- the angle in radians.
- See Also:
-
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
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:
-
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
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:
-
setCentre
Set the centre of the effect as a proportion of the image size.- Parameters:
centre
- the center- See Also:
-
getCentre
Get the centre of the effect as a proportion of the image size.- Returns:
- the center
- See Also:
-
setRadius
public void setRadius(float radius) Set the radius of the effect.- Parameters:
radius
- the radius- See Also:
-
getRadius
public float getRadius()Get the radius of the effect.- Returns:
- the radius
- See Also:
-
filter
- Specified by:
filter
in interfaceBufferedImageOp
- Overrides:
filter
in classTransformFilter
-
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 classTransformFilter
- Parameters:
x
- the X position of the pixel in the output imagey
- the Y position of the pixel in the output imageout
- the position of the pixel in the input image
-
toString
-