Java Platform 1.2
Beta 4

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.

The width of the matrix must be equal to the number of bands in the source Raster, 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 vector of band samples representing a pixel. 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, RenderingHints hints)
          Constructs a BandCombineOp with the specified matrix.
 
Method Summary
 WritableRaster createCompatibleDestRaster(Raster src)
          Creates a zeroed 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 getBounds2D(Raster src)
          Returns the bounding box of the transformed destination.
 float[][] getMatrix()
          Returns the matrix.
 Point2D getPoint2D(Point2D srcPt, Point2D dstPt)
          Returns the location of the destination point given a point in the source Raster.
 RenderingHints getRenderingHints()
          Returns the rendering hints used by this op.
 
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,
                     RenderingHints hints)
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. This op uses none of the currently defined rendering hints. The RenderingHints argument may be null.
Method Detail

getMatrix

public final 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.
Specified by:
filter in interface RasterOp

getBounds2D

public final Rectangle2D getBounds2D(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.
Specified by:
getBounds2D in interface RasterOp

createCompatibleDestRaster

public WritableRaster createCompatibleDestRaster(Raster src)
Creates a zeroed 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. See the class comments for more details.
Specified by:
createCompatibleDestRaster in interface RasterOp
Parameters:
src - Source Raster for the filter operation.

getPoint2D

public final Point2D getPoint2D(Point2D srcPt,
                                Point2D dstPt)
Returns the location of the destination point given a point in the source Raster. 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.
Specified by:
getPoint2D in interface RasterOp

getRenderingHints

public final RenderingHints getRenderingHints()
Returns the rendering hints used by this op.
Specified by:
getRenderingHints in interface RasterOp

Java Platform 1.2
Beta 4

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.
This documentation was generated with a post-Beta4 version of Javadoc.