Package com.jhlabs.image
Class KaleidoscopeFilter
- java.lang.Object
-
- com.jhlabs.image.AbstractBufferedImageOp
-
- com.jhlabs.image.TransformFilter
-
- com.jhlabs.image.KaleidoscopeFilter
-
- All Implemented Interfaces:
java.awt.image.BufferedImageOp
,java.lang.Cloneable
public class KaleidoscopeFilter extends TransformFilter
A Filter which produces the effect of looking into a kaleidoscope.
-
-
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 KaleidoscopeFilter()
Construct a KaleidoscopeFilter with no distortion.
-
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()
Get the angle of the kaleidoscope.float
getAngle2()
Get the secondary angle of the kaleidoscope.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.int
getSides()
Get the number of sides of the kaleidoscope.void
setAngle(float angle)
Set the angle of the kaleidoscope.void
setAngle2(float angle2)
Set the secondary angle of the kaleidoscope.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.void
setSides(int sides)
Set the number of sides of the kaleidoscope.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
-
setSides
public void setSides(int sides)
Set the number of sides of the kaleidoscope.- Parameters:
sides
- the number of sides. The minimum value is 2.- See Also:
getSides()
-
getSides
public int getSides()
Get the number of sides of the kaleidoscope.- Returns:
- the number of sides
- See Also:
setSides(int)
-
setAngle
public void setAngle(float angle)
Set the angle of the kaleidoscope.- Parameters:
angle
- the angle of the kaleidoscope.- See Also:
getAngle()
-
getAngle
public float getAngle()
Get the angle of the kaleidoscope.- Returns:
- the angle of the kaleidoscope.
- See Also:
setAngle(float)
-
setAngle2
public void setAngle2(float angle2)
Set the secondary angle of the kaleidoscope.- Parameters:
angle2
- the angle- See Also:
getAngle2()
-
getAngle2
public float getAngle2()
Get the secondary angle of the kaleidoscope.- Returns:
- the angle
- See Also:
setAngle2(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.- See Also:
getRadius()
-
getRadius
public float getRadius()
Get the radius of the effect.- Returns:
- the radius
- See Also:
setRadius(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
-
-