|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectcom.jhlabs.image.AbstractBufferedImageOp
com.jhlabs.image.TransformFilter
com.jhlabs.image.PerspectiveFilter
public class PerspectiveFilter
A filter which performs a perspective distortion on an image. Coordinates are treated as if the image was a unit square, i.e. the bottom-right corner of the image is at (1, 1). The filter maps the unit square onto an arbitrary convex quadrilateral or vice versa.
Field Summary |
---|
Fields inherited from class com.jhlabs.image.TransformFilter |
---|
BILINEAR, CLAMP, edgeAction, interpolation, NEAREST_NEIGHBOUR, originalSpace, RGB_CLAMP, transformedSpace, WRAP, ZERO |
Constructor Summary | |
---|---|
PerspectiveFilter()
Construct a PerspectiveFilter. |
|
PerspectiveFilter(float x0,
float y0,
float x1,
float y1,
float x2,
float y2,
float x3,
float y3)
Construct a PerspectiveFilter. |
Method Summary | |
---|---|
java.awt.image.BufferedImage |
filter(java.awt.image.BufferedImage src,
java.awt.image.BufferedImage dst)
|
java.awt.geom.Rectangle2D |
getBounds2D(java.awt.image.BufferedImage src)
|
boolean |
getClip()
|
float |
getOriginX()
Get the origin of the output image. |
float |
getOriginY()
Get the origin of the output image. |
java.awt.geom.Point2D |
getPoint2D(java.awt.geom.Point2D srcPt,
java.awt.geom.Point2D dstPt)
|
void |
quadToUnitSquare(float x0,
float y0,
float x1,
float y1,
float x2,
float y2,
float x3,
float y3)
Set the transform to map a quadrilateral onto the unit square. |
void |
setClip(boolean clip)
|
void |
setCorners(float x0,
float y0,
float x1,
float y1,
float x2,
float y2,
float x3,
float y3)
Set the new positions of the image corners. |
java.lang.String |
toString()
|
protected void |
transformInverse(int x,
int y,
float[] out)
Inverse transform a point. |
protected void |
transformSpace(java.awt.Rectangle rect)
Forward transform a rectangle. |
void |
unitSquareToQuad(float x0,
float y0,
float x1,
float y1,
float x2,
float y2,
float x3,
float y3)
Set the transform to map the unit square onto a quadrilateral. |
Methods inherited from class com.jhlabs.image.TransformFilter |
---|
filterPixelsNN, getEdgeAction, getInterpolation, setEdgeAction, setInterpolation |
Methods inherited from class com.jhlabs.image.AbstractBufferedImageOp |
---|
clone, createCompatibleDestImage, getRenderingHints, getRGB, setRGB |
Methods inherited from class java.lang.Object |
---|
equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait |
Constructor Detail |
---|
public PerspectiveFilter()
public PerspectiveFilter(float x0, float y0, float x1, float y1, float x2, float y2, float x3, float y3)
x0
- the new position of the top left cornery0
- the new position of the top left cornerx1
- the new position of the top right cornery1
- the new position of the top right cornerx2
- the new position of the bottom right cornery2
- the new position of the bottom right cornerx3
- the new position of the bottom left cornery3
- the new position of the bottom left cornerMethod Detail |
---|
public void setClip(boolean clip)
public boolean getClip()
public void setCorners(float x0, float y0, float x1, float y1, float x2, float y2, float x3, float y3)
x0
- the new position of the top left cornery0
- the new position of the top left cornerx1
- the new position of the top right cornery1
- the new position of the top right cornerx2
- the new position of the bottom right cornery2
- the new position of the bottom right cornerx3
- the new position of the bottom left cornery3
- the new position of the bottom left cornerpublic void unitSquareToQuad(float x0, float y0, float x1, float y1, float x2, float y2, float x3, float y3)
x0
- the new position of the top left cornery0
- the new position of the top left cornerx1
- the new position of the top right cornery1
- the new position of the top right cornerx2
- the new position of the bottom right cornery2
- the new position of the bottom right cornerx3
- the new position of the bottom left cornery3
- the new position of the bottom left cornerpublic void quadToUnitSquare(float x0, float y0, float x1, float y1, float x2, float y2, float x3, float y3)
x0
- the old position of the top left cornery0
- the old position of the top left cornerx1
- the old position of the top right cornery1
- the old position of the top right cornerx2
- the old position of the bottom right cornery2
- the old position of the bottom right cornerx3
- the old position of the bottom left cornery3
- the old position of the bottom left cornerpublic java.awt.image.BufferedImage filter(java.awt.image.BufferedImage src, java.awt.image.BufferedImage dst)
filter
in interface java.awt.image.BufferedImageOp
filter
in class TransformFilter
protected void transformSpace(java.awt.Rectangle rect)
TransformFilter
transformSpace
in class TransformFilter
rect
- the rectangle to transformpublic float getOriginX()
public float getOriginY()
public java.awt.geom.Rectangle2D getBounds2D(java.awt.image.BufferedImage src)
getBounds2D
in interface java.awt.image.BufferedImageOp
getBounds2D
in class AbstractBufferedImageOp
public java.awt.geom.Point2D getPoint2D(java.awt.geom.Point2D srcPt, java.awt.geom.Point2D dstPt)
getPoint2D
in interface java.awt.image.BufferedImageOp
getPoint2D
in class AbstractBufferedImageOp
protected void transformInverse(int x, int y, float[] out)
TransformFilter
transformInverse
in class TransformFilter
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 imagepublic java.lang.String toString()
toString
in class java.lang.Object
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |