java.awt.image
Class BandCombineOp

java.lang.Object sample code for java.lang.Object definition code for java.lang.Object 
  extended by java.awt.image.BandCombineOp
All Implemented Interfaces:
RasterOp sample code for java.awt.image.RasterOp definition code for java.awt.image.RasterOp

public class BandCombineOp
extends Object sample code for java.lang.Object definition code for java.lang.Object
implements RasterOp sample code for java.awt.image.RasterOp definition code for java.awt.image.RasterOp

This class performs an arbitrary linear combination of the 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 sample code for java.awt.image.BandCombineOp.BandCombineOp(float[][], java.awt.RenderingHints) definition code for java.awt.image.BandCombineOp.BandCombineOp(float[][], java.awt.RenderingHints) (float[][] matrix, RenderingHints sample code for java.awt.RenderingHints definition code for java.awt.RenderingHints  hints)
          Constructs a BandCombineOp with the specified matrix.
 
Method Summary
 WritableRaster sample code for java.awt.image.WritableRaster definition code for java.awt.image.WritableRaster createCompatibleDestRaster sample code for java.awt.image.BandCombineOp.createCompatibleDestRaster(java.awt.image.Raster) definition code for java.awt.image.BandCombineOp.createCompatibleDestRaster(java.awt.image.Raster) (Raster sample code for java.awt.image.Raster definition code for java.awt.image.Raster  src)
          Creates a zeroed destination Raster with the correct size and number of bands.
 WritableRaster sample code for java.awt.image.WritableRaster definition code for java.awt.image.WritableRaster filter sample code for java.awt.image.BandCombineOp.filter(java.awt.image.Raster, java.awt.image.WritableRaster) definition code for java.awt.image.BandCombineOp.filter(java.awt.image.Raster, java.awt.image.WritableRaster) (Raster sample code for java.awt.image.Raster definition code for java.awt.image.Raster  src, WritableRaster sample code for java.awt.image.WritableRaster definition code for java.awt.image.WritableRaster  dst)
          Transforms the Raster using the matrix specified in the constructor.
 Rectangle2D sample code for java.awt.geom.Rectangle2D definition code for java.awt.geom.Rectangle2D getBounds2D sample code for java.awt.image.BandCombineOp.getBounds2D(java.awt.image.Raster) definition code for java.awt.image.BandCombineOp.getBounds2D(java.awt.image.Raster) (Raster sample code for java.awt.image.Raster definition code for java.awt.image.Raster  src)
          Returns the bounding box of the transformed destination.
 float[][] getMatrix sample code for java.awt.image.BandCombineOp.getMatrix() definition code for java.awt.image.BandCombineOp.getMatrix() ()
          Returns the matrix.
 Point2D sample code for java.awt.geom.Point2D definition code for java.awt.geom.Point2D getPoint2D sample code for java.awt.image.BandCombineOp.getPoint2D(java.awt.geom.Point2D, java.awt.geom.Point2D) definition code for java.awt.image.BandCombineOp.getPoint2D(java.awt.geom.Point2D, java.awt.geom.Point2D) (Point2D sample code for java.awt.geom.Point2D definition code for java.awt.geom.Point2D  srcPt, Point2D sample code for java.awt.geom.Point2D definition code for java.awt.geom.Point2D  dstPt)
          Returns the location of the corresponding destination point given a point in the source Raster.
 RenderingHints sample code for java.awt.RenderingHints definition code for java.awt.RenderingHints getRenderingHints sample code for java.awt.image.BandCombineOp.getRenderingHints() definition code for java.awt.image.BandCombineOp.getRenderingHints() ()
          Returns the rendering hints for this operation.
 
Methods inherited from class java.lang.Object sample code for java.lang.Object definition code for java.lang.Object
clone sample code for java.lang.Object.clone() definition code for java.lang.Object.clone() , equals sample code for java.lang.Object.equals(java.lang.Object) definition code for java.lang.Object.equals(java.lang.Object) , finalize sample code for java.lang.Object.finalize() definition code for java.lang.Object.finalize() , getClass sample code for java.lang.Object.getClass() definition code for java.lang.Object.getClass() , hashCode sample code for java.lang.Object.hashCode() definition code for java.lang.Object.hashCode() , notify sample code for java.lang.Object.notify() definition code for java.lang.Object.notify() , notifyAll sample code for java.lang.Object.notifyAll() definition code for java.lang.Object.notifyAll() , toString sample code for java.lang.Object.toString() definition code for java.lang.Object.toString() , wait sample code for java.lang.Object.wait() definition code for java.lang.Object.wait() , wait sample code for java.lang.Object.wait(long) definition code for java.lang.Object.wait(long) , wait sample code for java.lang.Object.wait(long, int) definition code for java.lang.Object.wait(long, int)
 

Constructor Detail

BandCombineOp sample code for java.awt.image.BandCombineOp(float[][], java.awt.RenderingHints) definition code for java.awt.image.BandCombineOp(float[][], java.awt.RenderingHints)

public BandCombineOp(float[][] matrix,
                     RenderingHints sample code for java.awt.RenderingHints definition code for java.awt.RenderingHints  hints)
Constructs a BandCombineOp with the 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.

The first subscript is the row index and the second is the column index. This operation uses none of the currently defined rendering hints; the RenderingHints argument can be null.

Parameters:
matrix - The matrix to use for the band combine operation.
hints - The RenderingHints object for this operation. Not currently used so it can be null.
Method Detail

getMatrix sample code for java.awt.image.BandCombineOp.getMatrix() definition code for java.awt.image.BandCombineOp.getMatrix()

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

Returns:
The matrix associated with this band combine operation.

filter sample code for java.awt.image.BandCombineOp.filter(java.awt.image.Raster, java.awt.image.WritableRaster) definition code for java.awt.image.BandCombineOp.filter(java.awt.image.Raster, java.awt.image.WritableRaster)

public WritableRaster sample code for java.awt.image.WritableRaster definition code for java.awt.image.WritableRaster  filter(Raster sample code for java.awt.image.Raster definition code for java.awt.image.Raster  src,
                             WritableRaster sample code for java.awt.image.WritableRaster definition code for java.awt.image.WritableRaster  dst)
Transforms the Raster using the matrix specified in the constructor. An 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 is thrown if the operation causes a data overflow.

Specified by:
filter sample code for java.awt.image.RasterOp.filter(java.awt.image.Raster, java.awt.image.WritableRaster) definition code for java.awt.image.RasterOp.filter(java.awt.image.Raster, java.awt.image.WritableRaster) in interface RasterOp sample code for java.awt.image.RasterOp definition code for java.awt.image.RasterOp
Parameters:
src - The Raster to be filtered.
dst - The Raster in which to store the results of the filter operation.
Returns:
The filtered Raster.
Throws:
IllegalArgumentException sample code for java.lang.IllegalArgumentException definition code for java.lang.IllegalArgumentException - If the number of bands in the source or destination is incompatible with the matrix.

getBounds2D sample code for java.awt.image.BandCombineOp.getBounds2D(java.awt.image.Raster) definition code for java.awt.image.BandCombineOp.getBounds2D(java.awt.image.Raster)

public final Rectangle2D sample code for java.awt.geom.Rectangle2D definition code for java.awt.geom.Rectangle2D  getBounds2D(Raster sample code for java.awt.image.Raster definition code for java.awt.image.Raster  src)
Returns the bounding box of the transformed destination. Since this is not a geometric operation, the bounding box is the same for the source and destination. An 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 sample code for java.awt.image.RasterOp.getBounds2D(java.awt.image.Raster) definition code for java.awt.image.RasterOp.getBounds2D(java.awt.image.Raster) in interface RasterOp sample code for java.awt.image.RasterOp definition code for java.awt.image.RasterOp
Parameters:
src - The Raster to be filtered.
Returns:
The Rectangle2D representing the destination image's bounding box.
Throws:
IllegalArgumentException sample code for java.lang.IllegalArgumentException definition code for java.lang.IllegalArgumentException - If the number of bands in the source is incompatible with the matrix.

createCompatibleDestRaster sample code for java.awt.image.BandCombineOp.createCompatibleDestRaster(java.awt.image.Raster) definition code for java.awt.image.BandCombineOp.createCompatibleDestRaster(java.awt.image.Raster)

public WritableRaster sample code for java.awt.image.WritableRaster definition code for java.awt.image.WritableRaster  createCompatibleDestRaster(Raster sample code for java.awt.image.Raster definition code for java.awt.image.Raster  src)
Creates a zeroed destination Raster with the correct size and number of bands. An 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 sample code for java.awt.image.RasterOp.createCompatibleDestRaster(java.awt.image.Raster) definition code for java.awt.image.RasterOp.createCompatibleDestRaster(java.awt.image.Raster) in interface RasterOp sample code for java.awt.image.RasterOp definition code for java.awt.image.RasterOp
Parameters:
src - The Raster to be filtered.
Returns:
The zeroed destination Raster.

getPoint2D sample code for java.awt.image.BandCombineOp.getPoint2D(java.awt.geom.Point2D, java.awt.geom.Point2D) definition code for java.awt.image.BandCombineOp.getPoint2D(java.awt.geom.Point2D, java.awt.geom.Point2D)

public final Point2D sample code for java.awt.geom.Point2D definition code for java.awt.geom.Point2D  getPoint2D(Point2D sample code for java.awt.geom.Point2D definition code for java.awt.geom.Point2D  srcPt,
                                Point2D sample code for java.awt.geom.Point2D definition code for java.awt.geom.Point2D  dstPt)
Returns the location of the corresponding destination point given a point in the source Raster. If dstPt is specified, it is used to hold the return value. Since this is not a geometric operation, the point returned is the same as the specified srcPt.

Specified by:
getPoint2D sample code for java.awt.image.RasterOp.getPoint2D(java.awt.geom.Point2D, java.awt.geom.Point2D) definition code for java.awt.image.RasterOp.getPoint2D(java.awt.geom.Point2D, java.awt.geom.Point2D) in interface RasterOp sample code for java.awt.image.RasterOp definition code for java.awt.image.RasterOp
Parameters:
srcPt - The Point2D that represents the point in the source Raster
dstPt - The Point2D in which to store the result.
Returns:
The Point2D in the destination image that corresponds to the specified point in the source image.

getRenderingHints sample code for java.awt.image.BandCombineOp.getRenderingHints() definition code for java.awt.image.BandCombineOp.getRenderingHints()

public final RenderingHints sample code for java.awt.RenderingHints definition code for java.awt.RenderingHints  getRenderingHints()
Returns the rendering hints for this operation.

Specified by:
getRenderingHints sample code for java.awt.image.RasterOp.getRenderingHints() definition code for java.awt.image.RasterOp.getRenderingHints() in interface RasterOp sample code for java.awt.image.RasterOp definition code for java.awt.image.RasterOp
Returns:
The RenderingHints object associated with this operation. Returns null if no hints have been set.