JavaTM 2 Platform
Standard Ed. 5.0

java.awt.image
类 BandCombineOp

java.lang.Object
  继承者 java.awt.image.BandCombineOp
所有已实现的接口:
RasterOp

public class BandCombineOp
extends Object
implements RasterOp

此类使用一个指定矩阵对 Raster 中的 band 进行任意线性组合。

矩阵的宽度必须等于源 Raster 中的 band 数(可以加一)。如果矩阵中的列数比 band 数多 1,则在 band 样本向量的结尾处隐含着 1 个 band,它表示一个像素。矩阵的高度必须等于目标图像中的 band 数。

例如,对于一个 band 数为 3 的 Raster,为了反转 Raster 的第二个 band,可以对每个像素应用以下变换。

   [ 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 ]
 

注意,源图像和目标图像可以是相同的对象。


构造方法摘要
BandCombineOp(float[][] matrix, RenderingHints hints)
          构造一个具有指定矩阵的 BandCombineOp
 
方法摘要
 WritableRaster createCompatibleDestRaster(Raster src)
          创建一个具有正确大小和 band 数的经过检查的目标 Raster
 WritableRaster filter(Raster src, WritableRaster dst)
          使用构造方法中指定的矩阵变换该 Raster
 Rectangle2D getBounds2D(Raster src)
          返回变换后的目标图像的边界框。
 float[][] getMatrix()
          返回该矩阵。
 Point2D getPoint2D(Point2D srcPt, Point2D dstPt)
          返回与源 Raster 中给定点对应的目标点的位置。
 RenderingHints getRenderingHints()
          返回针对此操作呈现的提示。
 
从类 java.lang.Object 继承的方法
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

构造方法详细信息

BandCombineOp

public BandCombineOp(float[][] matrix,
                     RenderingHints hints)
构造一个具有指定矩阵的 BandCombineOp。矩阵的宽度必须等于源 Raster 中的 band 数(可以加一)。如果矩阵中的列数比 band 数多 1,则在 band 样本向量的结尾处隐含着 1 个 band,它表示一个像素。矩阵的高度必须等于目标图像中的 band 数。

第一个下标是行索引,第二个下标是列索引。此操作没有使用当前定义的呈现提示;RenderingHints 参数可以为 null。

参数:
matrix - 进行 band 组合操作要使用的矩阵。
hints - 用于此操作的 RenderingHints 对象。当前没有使用提示,因此它可以为 null。
方法详细信息

getMatrix

public final float[][] getMatrix()
返回该矩阵。

返回:
与此 band 组合操作关联的矩阵。

filter

public WritableRaster filter(Raster src,
                             WritableRaster dst)
使用构造方法中指定的矩阵变换该 Raster。如果源图像或目标图像中的 band 数与矩阵不一致,则可能抛出 IllegalArgumentException。有关更多详细信息,请参见类注释。

如果目标图像为 null,则将根据 band 数创建它,band 数等于矩阵中的行数。即使该操作引起数据溢出,也不会抛出异常。

指定者:
接口 RasterOp 中的 filter
参数:
src - 要过滤的 Raster
dst - 要在其中存储过滤操作结果的 Raster
返回:
过滤后的 Raster
抛出:
IllegalArgumentException - 如果源图像或目标图像中的 band 数与矩阵不一致。

getBounds2D

public final Rectangle2D getBounds2D(Raster src)
返回变换后的目标图像的边界框。由于这不是一个几何操作,因此源图像和目标图像的边界框相同。如果源图像中的 band 数与矩阵不一致,则可能抛出 IllegalArgumentException。有关更多详细信息,请参见类注释。

指定者:
接口 RasterOp 中的 getBounds2D
参数:
src - 要过滤的 Raster
返回:
表示目标图像边界框的 Rectangle2D
抛出:
IllegalArgumentException - 如果源图像中的 band 数与矩阵不一致。

createCompatibleDestRaster

public WritableRaster createCompatibleDestRaster(Raster src)
创建一个具有正确大小和 band 数的经过检查的目标 Raster。如果源图像中的 band 数与矩阵不一致,则可能抛出 IllegalArgumentException。有关更多详细信息,请参见类注释。

指定者:
接口 RasterOp 中的 createCompatibleDestRaster
参数:
src - 要过滤的 Raster
返回:
经过检查的目标 Raster

getPoint2D

public final Point2D getPoint2D(Point2D srcPt,
                                Point2D dstPt)
返回与源 Raster 中给定点对应的目标点的位置。如果指定了 dstPt,则使用它来保存返回值。由于这不是一个几何操作,因此返回的点与指定的 srcPt 相同。

指定者:
接口 RasterOp 中的 getPoint2D
参数:
srcPt - 表示源 Raster 中点的 Point2D
dstPt - 用于存储结果的 Point2D
返回:
与源图像中指定点对应的目标图像中的 Point2D

getRenderingHints

public final RenderingHints getRenderingHints()
返回针对此操作呈现的提示。

指定者:
接口 RasterOp 中的 getRenderingHints
返回:
与此操作关联的 RenderingHints 对象。如果没有设置提示,则返回 null。

JavaTM 2 Platform
Standard Ed. 5.0

提交错误或意见
有关更多的 API 参考资料和开发人员文档,请参阅 Java 2 SDK SE 开发人员文档。该文档包含更详细的、面向开发人员的描述,以及总体概述、术语定义、使用技巧和工作代码示例。

版权所有 2004 Sun Microsystems, Inc. 保留所有权利。 请遵守许可证条款。另请参阅文档重新分发政策