java.awt.image

Class AffineTransformOp

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 intTYPE_BICUBIC
static intTYPE_BILINEAR
static intTYPE_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
BufferedImagecreateCompatibleDestImage(BufferedImage src, ColorModel destCM)
Creates a new BufferedImage with the size equal to that of the transformed image and the correct number of bands.
WritableRastercreateCompatibleDestRaster(Raster src)
Creates a new WritableRaster with the size equal to the transformed source raster and correct number of bands .
BufferedImagefilter(BufferedImage src, BufferedImage dst)
Transforms source image using transform specified at the constructor.
WritableRasterfilter(Raster src, WritableRaster dst)
Transforms source raster using transform specified at the constructor.
Rectangle2DgetBounds2D(BufferedImage src)
Transforms source image using transform specified at the constructor and returns bounds of the transformed image.
Rectangle2DgetBounds2D(Raster src)
Returns bounds of the transformed raster.
intgetInterpolationType()
Returns interpolation type used during transformations.
Point2DgetPoint2D(Point2D srcPt, Point2D dstPt)
Returns location of the transformed source point.
RenderingHintsgetRenderingHints()
Returns rendering hints that are used during transformation.
AffineTransformgetTransform()
Returns transform used in transformation between source and destination image.

Field Detail

TYPE_BICUBIC

public static final int TYPE_BICUBIC

Since: 1.5.0

TYPE_BILINEAR

public static final int TYPE_BILINEAR

TYPE_NEAREST_NEIGHBOR

public static final int TYPE_NEAREST_NEIGHBOR

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.

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 .

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.

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.

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.

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.

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.

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.

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.