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.BufferedImagefilter(java.awt.image.BufferedImage src, java.awt.image.BufferedImage dst)floatgetAmount()Get the amount of pinch.floatgetAngle()Get the angle of twist.java.awt.geom.Point2DgetCentre()Get the centre of the effect as a proportion of the image size.floatgetCentreX()Get the centre of the effect in the X direction as a proportion of the image size.floatgetCentreY()Get the centre of the effect in the Y direction as a proportion of the image size.floatgetRadius()Get the radius of the effect.voidsetAmount(float amount)Set the amount of pinch.voidsetAngle(float angle)Set the angle of twirl in radians.voidsetCentre(java.awt.geom.Point2D centre)Set the centre of the effect as a proportion of the image size.voidsetCentreX(float centreX)Set the centre of the effect in the X direction as a proportion of the image size.voidsetCentreY(float centreY)Set the centre of the effect in the Y direction as a proportion of the image size.voidsetRadius(float radius)Set the radius of the effect.java.lang.StringtoString()protected voidtransformInverse(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:
filterin interfacejava.awt.image.BufferedImageOp- Overrides:
filterin classTransformFilter
-
transformInverse
protected void transformInverse(int x, int y, float[] out)Description copied from class:TransformFilterInverse transform a point. This method needs to be overriden by all subclasses.- Specified by:
transformInversein 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:
toStringin classjava.lang.Object
-
-