com.jhlabs.image

Class SphereFilter

Implemented Interfaces:
BufferedImageOp, Cloneable

public class SphereFilter
extends TransformFilter

A filter which simulates a lens placed over an image.

Field Summary

Fields inherited from class com.jhlabs.image.TransformFilter

BILINEAR, CLAMP, NEAREST_NEIGHBOUR, RGB_CLAMP, WRAP, ZERO, edgeAction, interpolation, originalSpace, transformedSpace

Constructor Summary

SphereFilter()

Method Summary

BufferedImage
filter(BufferedImage src, BufferedImage dst)
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.
float
getRefractionIndex()
Get the index of refaction.
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 r)
Set the radius of the effect.
void
setRefractionIndex(float refractionIndex)
Set the index of refaction.
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

SphereFilter

public SphereFilter()

Method Details

filter

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

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

getRefractionIndex

public float getRefractionIndex()
Get the index of refaction.
Returns:
the index of refaction

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 r)
Set the radius of the effect.
Parameters:
r - the radius

setRefractionIndex

public void setRefractionIndex(float refractionIndex)
Set the index of refaction.
Parameters:
refractionIndex - the index of refaction

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