Module java.desktop
Package java.awt.image

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

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

  • Constructor Details

    • BandCombineOp

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

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

      参数:
      matrix - 用于波段组合操作的矩阵。
      hints - 此操作的RenderingHints对象。当前未使用,因此可以为null。
  • Method Details

    • getMatrix

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

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

      如果目标为null,则将创建一个具有与矩阵中行数相等的波段数的目标。如果操作导致数据溢出,不会抛出异常。

      指定者:
      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 - 表示源Raster中点的Point2D
      dstPt - 用于存储结果的Point2D
      返回:
      对应于源图像中指定点的目标图像中的Point2D
    • getRenderingHints

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