All Packages  Class Hierarchy  This Package  Previous  Next  Index  

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 Index

 o BandCombineOp(float[][])
This constructs a BandCombineOp with the specified matrix.

Method Index

 o createCompatibleDestRaster(Raster)
Creates an empty destination Raster with the correct size and number of bands.
 o filter(Raster, WritableRaster)
Transforms the Raster using the matrix in the constructor.
 o getDestBounds(BufferedImage)
Returns the bounding box of the transformed destination.
 o getDestBounds(Raster)
Returns the bounding box of the transformed destination.
 o getDestPoint(Point2D, Point2D)
Returns the location of the destination point given a point in the source image.
 o getMatrix()
Returns the matrix.

Constructors

 o 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.

Methods

 o getMatrix
public float[][] getMatrix()
Returns the matrix.

 o 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.

 o 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.

 o 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.

 o 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.

Parameters:
src - Source Raster for the filter operation
 o 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.


All Packages  Class Hierarchy  This Package  Previous  Next  Index  

Submit a bug or feature