Class java.awt.image.BandCombineOp
java.lang.Object
|
+----java.awt.image.BandCombineOp
- public class BandCombineOp
- extends Object
- implements RasterOp
This class performs an arbitrary linear combination of bands
in a Raster, using a specified matrix.
For operations with a Raster, the width of the matrix must be equal to
the number of bands, optionally plus one. If there is one more column
in the matrix than the number of bands, there is an implied 1 at the
end of the pixel vector. The height of the matrix must be equal to
the number of bands in the destination. For example, a 3-banded Raster
might have the following transformation applied to
each pixel in order to invert the second band of the Raster.
[ 1.0 0.0 0.0 0.0 ] [ b1 ]
[ 0.0 -1.0 0.0 255.0 ] x [ b2 ]
[ 0.0 0.0 1.0 0.0 ] [ b3 ]
[ 1 ]
Note that the source and destination can be the same object.
Constructor Summary
|
BandCombineOp(float[][] matrix)
This constructs a BandCombineOp with the specified matrix.
|
Methods inherited from class java.lang.Object
|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
BandCombineOp
public BandCombineOp(float[][] matrix)
- This constructs a BandCombineOp with the specified matrix.
See the class comments for restrictions on the size of the
matrix. The first subscript is the row index and the second
is the column index.
getMatrix
public float[][] getMatrix()
- Returns the matrix.
filter
public WritableRaster filter(Raster src,
WritableRaster dst)
- Transforms the Raster using the matrix in the constructor.
The IllegalArgumentException may be thrown if the number of
bands in the source or destination is incompatible with the
matrix. See the class comments for more details. If
the destination
is null, it will be created with a number of bands equalling
the number of rows in the matrix. No exception will be thrown
if the operation causes a data overflow.
- Implements:
- filter in interface RasterOp
getDestBounds
public Rectangle2D getDestBounds(BufferedImage src)
- Returns the bounding box of the transformed destination. Since
this is not a geometric operation, the bounding box does not
change.
The IllegalArgumentException may be thrown if the number of
components in the source is incompatible with the matrix. See
the class comments for more details.
- Implements:
- getDestBounds in interface RasterOp
getDestBounds
public Rectangle2D getDestBounds(Raster src)
- Returns the bounding box of the transformed destination. Since
this is not a geometric operation, the bounding box does not
change.
The IllegalArgumentException may be thrown if the number of
bands in the source is incompatible with the matrix. See
the class comments for more details.
- Implements:
- getDestBounds in interface RasterOp
createCompatibleDestRaster
public WritableRaster createCompatibleDestRaster(Raster src)
- Creates an empty destination Raster with the correct size and
number of bands.
The IllegalArgumentException may be thrown if the number of
bands in the source is incompatible with the matrix or if the
number of rows in the matrix is not equal to the number of
bands in the source image. See
the class comments for more details.
- Implements:
- createCompatibleDestRaster in interface RasterOp
- Parameters:
src
- Source Raster for the filter operation
getDestPoint
public Point2D getDestPoint(Point2D srcPt,
Point2D dstPt)
- Returns the location of the destination point given a
point in the source image. If dstPt is non-null, it will
be used to hold the return value. Since this is not a geometric
operation, the srcPt will equal the dstPt.
- Implements:
- getDestPoint in interface RasterOp
Submit a bug or feature
Submit comments/suggestions about new javadoc look.
Java is a trademark or registered trademark of Sun Microsystems, Inc. in the US and other countries.
Copyright 1993-1998 Sun Microsystems, Inc. 901 San Antonio Road, Palo Alto, California, 94303, U.S.A. All Rights Reserved.