Package com.jhlabs.image
Class PinchFilter
- java.lang.Object
-
- com.jhlabs.image.AbstractBufferedImageOp
-
- com.jhlabs.image.TransformFilter
-
- com.jhlabs.image.PinchFilter
-
- All Implemented Interfaces:
java.awt.image.BufferedImageOp
,java.lang.Cloneable
public class PinchFilter extends TransformFilter
A filter which performs the popular whirl-and-pinch distortion effect.
-
-
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 Constructor Description PinchFilter()
-
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
getAmount()
Get the amount of pinch.float
getAngle()
Get the angle of twist.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
getRadius()
Get the radius of the effect.void
setAmount(float amount)
Set the amount of pinch.void
setAngle(float angle)
Set the angle of twirl in radians.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
setRadius(float radius)
Set the radius of the effect.java.lang.String
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, stringToColor
-
-
-
-
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.- See Also:
getAngle()
-
getAngle
public float getAngle()
Get the angle of twist.- Returns:
- the angle in radians.
- See Also:
setAngle(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)
-
setRadius
public void setRadius(float radius)
Set the radius of the effect.- Parameters:
radius
- the radius. The minimum value is 0.0, the maximum is 1.0- See Also:
getRadius()
-
getRadius
public float getRadius()
Get the radius of the effect.- Returns:
- the radius
- See Also:
setRadius(float)
-
setAmount
public void setAmount(float amount)
Set the amount of pinch.- Parameters:
amount
- the amount The minimum value is -1.0, the maximum is 1.0- See Also:
getAmount()
-
getAmount
public float getAmount()
Get the amount of pinch.- Returns:
- the amount
- See Also:
setAmount(float)
-
filter
public java.awt.image.BufferedImage filter(java.awt.image.BufferedImage src, java.awt.image.BufferedImage dst)
- Specified by:
filter
in interfacejava.awt.image.BufferedImageOp
- 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
public java.lang.String toString()
- Overrides:
toString
in classjava.lang.Object
-
-