java.awt.image
Class AffineTransformOp

java.lang.Object
  extended by java.awt.image.AffineTransformOp
All Implemented Interfaces:
BufferedImageOp, RasterOp

public class AffineTransformOp
extends Object
implements BufferedImageOp, RasterOp

AffineTransformOp performs matrix-based transformations (translations, scales, flips, rotations, and shears). If interpolation is required, nearest neighbour, bilinear, and bicubic methods are available.


Field Summary
static int TYPE_BICUBIC
           
static int TYPE_BILINEAR
           
static int TYPE_NEAREST_NEIGHBOR
           
 
Constructor Summary
AffineTransformOp(AffineTransform xform, int interpolationType)
          Construct AffineTransformOp with the given xform and interpolationType.
AffineTransformOp(AffineTransform xform, RenderingHints hints)
          Construct AffineTransformOp with the given xform and rendering hints.
 
Method Summary
 BufferedImage createCompatibleDestImage(BufferedImage src, ColorModel destCM)
          Creates a new BufferedImage with the size equal to that of the transformed image and the correct number of bands.
 WritableRaster createCompatibleDestRaster(Raster src)
          Creates a new WritableRaster with the size equal to the transformed source raster and correct number of bands .
 BufferedImage filter(BufferedImage src, BufferedImage dst)
          Transforms source image using transform specified at the constructor.
 WritableRaster filter(Raster src, WritableRaster dst)
          Transforms source raster using transform specified at the constructor.
 Rectangle2D getBounds2D(BufferedImage src)
          Transforms source image using transform specified at the constructor and returns bounds of the transformed image.
 Rectangle2D getBounds2D(Raster src)
          Returns bounds of the transformed raster.
 int getInterpolationType()
          Returns interpolation type used during transformations.
 Point2D getPoint2D(Point2D srcPt, Point2D dstPt)
          Returns location of the transformed source point.
 RenderingHints getRenderingHints()
          Returns rendering hints that are used during transformation.
 AffineTransform getTransform()
          Returns transform used in transformation between source and destination image.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

TYPE_NEAREST_NEIGHBOR

public static final int TYPE_NEAREST_NEIGHBOR
See Also:
Constant Field Values

TYPE_BILINEAR

public static final int TYPE_BILINEAR
See Also:
Constant Field Values

TYPE_BICUBIC

public static final int TYPE_BICUBIC
Since:
1.5.0
See Also:
Constant Field Values
Constructor Detail

AffineTransformOp

public AffineTransformOp(AffineTransform xform,
                         int interpolationType)
Construct AffineTransformOp with the given xform and interpolationType. Interpolation type can be TYPE_BILINEAR, TYPE_BICUBIC or TYPE_NEAREST_NEIGHBOR.

Parameters:
xform - AffineTransform that will applied to the source image
interpolationType - type of interpolation used
Throws:
ImagingOpException - if the transform matrix is noninvertible

AffineTransformOp

public AffineTransformOp(AffineTransform xform,
                         RenderingHints hints)
Construct AffineTransformOp with the given xform and rendering hints.

Parameters:
xform - AffineTransform that will applied to the source image
hints - rendering hints that will be used during transformation
Throws:
ImagingOpException - if the transform matrix is noninvertible
Method Detail

createCompatibleDestImage

public BufferedImage createCompatibleDestImage(BufferedImage src,
                                               ColorModel destCM)
Creates a new BufferedImage with the size equal to that of the transformed image and the correct number of bands. The newly created image is created with the specified ColorModel. If a ColorModel is not specified, an appropriate ColorModel is used.

Specified by:
createCompatibleDestImage in interface BufferedImageOp
Parameters:
src - the source image.
destCM - color model for the destination image (can be null).
Returns:
a new compatible destination image.

createCompatibleDestRaster

public WritableRaster createCompatibleDestRaster(Raster src)
Creates a new WritableRaster with the size equal to the transformed source raster and correct number of bands .

Specified by:
createCompatibleDestRaster in interface RasterOp
Parameters:
src - the source raster.
Returns:
a new compatible raster.
Throws:
RasterFormatException - if resulting width or height of raster is 0.

filter

public final BufferedImage filter(BufferedImage src,
                                  BufferedImage dst)
Transforms source image using transform specified at the constructor. The resulting transformed image is stored in the destination image if one is provided; otherwise a new BufferedImage is created and returned.

Specified by:
filter in interface BufferedImageOp
Parameters:
src - source image
dst - destination image
Returns:
transformed source image.
Throws:
IllegalArgumentException - if the source and destination image are the same

filter

public final WritableRaster filter(Raster src,
                                   WritableRaster dst)
Transforms source raster using transform specified at the constructor. The resulting raster is stored in the destination raster if it is not null, otherwise a new raster is created and returned.

Specified by:
filter in interface RasterOp
Parameters:
src - source raster
dst - destination raster
Returns:
transformed raster.
Throws:
IllegalArgumentException - if the source and destination are not compatible

getBounds2D

public final Rectangle2D getBounds2D(BufferedImage src)
Transforms source image using transform specified at the constructor and returns bounds of the transformed image.

Specified by:
getBounds2D in interface BufferedImageOp
Parameters:
src - image to be transformed
Returns:
bounds of the transformed image.

getBounds2D

public final Rectangle2D getBounds2D(Raster src)
Returns bounds of the transformed raster.

Specified by:
getBounds2D in interface RasterOp
Parameters:
src - raster to be transformed
Returns:
bounds of the transformed raster.

getInterpolationType

public final int getInterpolationType()
Returns interpolation type used during transformations.

Returns:
interpolation type

getPoint2D

public final Point2D getPoint2D(Point2D srcPt,
                                Point2D dstPt)
Returns location of the transformed source point. The resulting point is stored in the dstPt if one is specified.

Specified by:
getPoint2D in interface BufferedImageOp
Specified by:
getPoint2D in interface RasterOp
Parameters:
srcPt - point to be transformed
dstPt - destination point
Returns:
the location of the transformed source point.

getRenderingHints

public final RenderingHints getRenderingHints()
Returns rendering hints that are used during transformation.

Specified by:
getRenderingHints in interface BufferedImageOp
Specified by:
getRenderingHints in interface RasterOp
Returns:
the rendering hints used in this Op.

getTransform

public final AffineTransform getTransform()
Returns transform used in transformation between source and destination image.

Returns:
the transform used in this Op.