com.jhlabs.image

Class KaleidoscopeFilter

Implemented Interfaces:
BufferedImageOp, 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, NEAREST_NEIGHBOUR, RGB_CLAMP, WRAP, ZERO, edgeAction, interpolation, originalSpace, transformedSpace

Constructor Summary

KaleidoscopeFilter()
Construct a KaleidoscopeFilter with no distortion.

Method Summary

BufferedImage
filter(BufferedImage src, BufferedImage dst)
float
getAngle()
Get the angle of the kaleidoscope.
float
getAngle2()
Get the secondary angle of the kaleidoscope.
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(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.
String
toString()
protected void
transformInverse(int x, int y, float[] out)
Inverse transform a point.

Methods inherited from class com.jhlabs.image.TransformFilter

filter, filterPixelsNN, getEdgeAction, getInterpolation, setEdgeAction, setInterpolation, transformInverse, transformSpace

Methods inherited from class com.jhlabs.image.AbstractBufferedImageOp

clone, createCompatibleDestImage, getBounds2D, getPoint2D, getRGB, getRenderingHints, setRGB

Constructor Details

KaleidoscopeFilter

public KaleidoscopeFilter()
Construct a KaleidoscopeFilter with no distortion.

Method Details

filter

public BufferedImage filter(BufferedImage src,
                            BufferedImage dst)
Overrides:
filter in interface TransformFilter

getAngle

public float getAngle()
Get the angle of the kaleidoscope.
Returns:
the angle of the kaleidoscope.

getAngle2

public float getAngle2()
Get the secondary angle of the kaleidoscope.
Returns:
the angle

getCentre

public Point2D getCentre()
Get the centre of the effect as a proportion of the image size.
Returns:
the center

getCentreX

public float getCentreX()
Get the centre of the effect in the X direction as a proportion of the image size.
Returns:
the center

getCentreY

public float getCentreY()
Get the centre of the effect in the Y direction as a proportion of the image size.
Returns:
the center

getRadius

public float getRadius()
Get the radius of the effect.
Returns:
the radius

getSides

public int getSides()
Get the number of sides of the kaleidoscope.
Returns:
the number of sides

setAngle

public void setAngle(float angle)
Set the angle of the kaleidoscope.
Parameters:
angle - the angle of the kaleidoscope.

setAngle2

public void setAngle2(float angle2)
Set the secondary angle of the kaleidoscope.
Parameters:
angle2 - the angle

setCentre

public void setCentre(Point2D centre)
Set the centre of the effect as a proportion of the image size.
Parameters:
centre - the center

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

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

setRadius

public void setRadius(float radius)
Set the radius of the effect.
Parameters:
radius - the radius

setSides

public void setSides(int sides)
Set the number of sides of the kaleidoscope.
Parameters:
sides - the number of sides

toString

public String toString()

transformInverse

protected void transformInverse(int x,
                                int y,
                                float[] out)
Inverse transform a point. This method needs to be overriden by all subclasses.
Overrides:
transformInverse in interface TransformFilter
Parameters:
x - the X position of the pixel in the output image
y - the Y position of the pixel in the output image
out - the position of the pixel in the input image