Contents | Package | Class | Tree | Deprecated | Index | Help Java 1.2 Beta 3
PREV | NEXT SHOW LISTS | HIDE LISTS

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.
 

Method Summary
WritableRaster  createCompatibleDestRaster(Raster src)
Creates an empty destination Raster with the correct size and number of bands.
WritableRaster  filter(Raster src, WritableRaster dst)
Transforms the Raster using the matrix in the constructor.
Rectangle2D  getDestBounds(BufferedImage src)
Returns the bounding box of the transformed destination.
Rectangle2D  getDestBounds(Raster src)
Returns the bounding box of the transformed destination.
Point2D  getDestPoint(Point2D srcPt, Point2D dstPt)
Returns the location of the destination point given a point in the source image.
float[][]  getMatrix()
Returns the matrix.
 
Methods inherited from class java.lang.Object
 clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

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.
Method Detail

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

Contents | Package | Class | Tree | Deprecated | Index | Help Java 1.2 Beta 3
PREV | NEXT SHOW LISTS | HIDE LISTS

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.