模块 java.desktop

类 BandCombineOp

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

public class BandCombineOp extends Object implements RasterOp
此类使用指定矩阵对 Raster 中的波段执行任意线性组合。

矩阵的宽度必须等于源 Raster 中的波段数,可以加一。如果矩阵中的列比波段数多一列,则表示像素的波段样本向量末尾隐含 1。矩阵的高度必须等于目标中的波段数。

例如,一个 3 波段的 Raster 可能会对每个像素应用以下变换,以便反转 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 ]
 

请注意,源和目标可以是同一个对象。

  • 构造方法详细信息

    • BandCombineOp

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

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

      参数:
      matrix - 用于波段组合操作的矩阵。
      hints - 此操作的 RenderingHints 对象。当前未使用,因此它可以为空。
  • 方法详情

    • getMatrix

      public final float[][] getMatrix()
      返回线性组合矩阵的副本。
      返回:
      与此波段合并操作关联的矩阵。
    • filter

      public WritableRaster  filter(Raster  src, WritableRaster  dst)
      使用构造函数中指定的矩阵转换 Raster。如果源或目标中的波段数与矩阵不兼容,则可能会抛出 IllegalArgumentException。有关详细信息,请参阅课堂评论。

      如果 destination 为 null,则将使用等于矩阵中行数的 band 数创建它。如果操作导致数据溢出,则不会抛出异常。

      指定者:
      filter 在接口 RasterOp
      参数:
      src - 要过滤的 Raster
      dst - Raster 用于存储过滤操作的结果。
      返回:
      过滤后的 Raster
      抛出:
      IllegalArgumentException - 如果源或目标中的波段数与矩阵不兼容。
    • getBounds2D

      public final Rectangle2D  getBounds2D(Raster  src)
      返回转换目标的边界框。由于这不是几何操作,因此源和目标的边界框相同。如果源中的波段数与矩阵不兼容,则可能会抛出 IllegalArgumentException。有关详细信息,请参阅课堂评论。
      指定者:
      getBounds2D 在接口 RasterOp
      参数:
      src - 要过滤的 Raster
      返回:
      Rectangle2D 表示目标图像的边界框。
      抛出:
      IllegalArgumentException - 如果源中的波段数与矩阵不兼容。
    • createCompatibleDestRaster

      public WritableRaster  createCompatibleDestRaster(Raster  src)
      创建一个带正确大小和数量的归零目的地Raster。如果源中的波段数与矩阵不兼容,则可能会抛出 IllegalArgumentException。有关详细信息,请参阅课堂评论。
      指定者:
      createCompatibleDestRaster 在接口 RasterOp
      参数:
      src - 要过滤的 Raster
      返回:
      归零目的地 Raster
    • getPoint2D

      public final Point2D  getPoint2D(Point2D  srcPt, Point2D  dstPt)
      给定源 Raster 中的一个点,返回相应目标点的位置。如果指定dstPt,则用于保存返回值。由于这不是几何运算,因此返回的点与指定的 srcPt 相同。
      指定者:
      getPoint2D 在接口 RasterOp
      参数:
      srcPt - 代表源中点的 Point2D Raster
      dstPt - 存储结果的 Point2D
      返回:
      目标图像中的 Point2D 对应于源图像中的指定点。
    • getRenderingHints

      public final RenderingHints  getRenderingHints()
      返回此操作的呈现提示。
      指定者:
      getRenderingHints 在接口 RasterOp
      返回:
      与此操作关联的 RenderingHints 对象。如果未设置任何提示,则返回 null。