java.awt.image

Class AffineTransformOp

Implemented Interfaces:
BufferedImageOp, RasterOp

public class AffineTransformOp
extends Object
implements BufferedImageOp, RasterOp

This class performs affine transformation between two images or rasters in 2 dimensions.

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 empty BufferedImage with the size equal to that of the transformed image and correct number of bands.
WritableRaster
createCompatibleDestRaster(Raster src)
Creates empty 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 Details

TYPE_BICUBIC

public static final int TYPE_BICUBIC
Field Value:
3
Since:
1.5.0

TYPE_BILINEAR

public static final int TYPE_BILINEAR
Field Value:
2

TYPE_NEAREST_NEIGHBOR

public static final int TYPE_NEAREST_NEIGHBOR
Field Value:
1

Constructor Details

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

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

Method Details

createCompatibleDestImage

public BufferedImage createCompatibleDestImage(BufferedImage src,
                                               ColorModel destCM)
Creates empty BufferedImage with the size equal to that of the transformed image and correct number of bands. The newly created image is created with the specified ColorModel. If the ColorModel is equal to null, then image is created with the ColorModel of the source image.
Specified by:
createCompatibleDestImage in interface BufferedImageOp
Parameters:
src - source image
destCM - color model for the destination image
Returns:
new compatible destination image

createCompatibleDestRaster

public WritableRaster createCompatibleDestRaster(Raster src)
Creates empty WritableRaster with the size equal to the transformed source raster and correct number of bands
Specified by:
createCompatibleDestRaster in interface RasterOp
Parameters:
src - source raster
Returns:
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.
Specified by:
filter in interface BufferedImageOp
Parameters:
src - source image
dst - destination image
Returns:
transformed source image

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.
Specified by:
filter in interface RasterOp
Parameters:
src - source raster
dst - destination raster
Returns:
transformed raster

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 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
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
getRenderingHints in interface RasterOp
Returns:
rendering hints

getTransform

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

AffineTransformOp.java -- This class performs affine transformation between two images or rasters in 2 dimensions. Copyright (C) 2004 Free Software Foundation This file is part of GNU Classpath. GNU Classpath is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2, or (at your option) any later version. GNU Classpath is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with GNU Classpath; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. Linking this library statically or dynamically with other modules is making a combined work based on this library. Thus, the terms and conditions of the GNU General Public License cover the whole combination. As a special exception, the copyright holders of this library give you permission to link this library with independent modules to produce an executable, regardless of the license terms of these independent modules, and to copy and distribute the resulting executable under terms of your choice, provided that you also meet, for each linked independent module, the terms and conditions of the license of that module. An independent module is a module which is not derived from or based on this library. If you modify this library, you may extend this exception to your version of the library, but you are not obligated to do so. If you do not wish to do so, delete this exception statement from your version.