模块  java.desktop
软件包  java.awt.image

Class BandCombineOp

  • 实现的所有接口
    RasterOp

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

    矩阵的宽度必须等于源Raster的波段数,可选择加1。 如果矩阵中的列多于带的数量,则在表示像素的带样本的矢量的末尾存在隐含的1。 矩阵的高度必须等于目标中的波段数。

    例如,3-banded 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。 如果矩阵中的列多于带的数量,则在表示像素的带样本的矢量的末尾存在隐含的1。 矩阵的高度必须等于目标中的波段数。

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

        参数
        matrix - 用于波段组合操作的矩阵。
        hints - 此操作的RenderingHints对象。 目前未使用,因此可以为null。
    • 方法详细信息

      • getMatrix

        public final float[][] getMatrix()
        返回线性组合矩阵的副本。
        结果
        与该频带相关联的矩阵组合操作。
      • filter

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

        如果目标为空,则将创建具有等于矩阵中行数的多个带。 如果操作导致数据溢出,则不会引发异常。

        Specified by:
        filter ,界面 RasterOp
        参数
        src - 要过滤的 Raster
        dst - Raster ,用于存储过滤操作的结果。
        结果
        过滤后的 Raster
        异常
        IllegalArgumentException - 如果源或目标中的波段数与矩阵不兼容。
      • getBounds2D

        public final Rectangle2D getBounds2D​(Raster src)
        返回已转换目标的边界框。 由于这不是几何操作,因此源和目标的边界框是相同的。 如果源中的波段数与矩阵不兼容,则可能抛出IllegalArgumentException 有关详细信息,请参阅课程注释。
        Specified by:
        getBounds2D在界面 RasterOp
        参数
        src - 要过滤的 Raster
        结果
        Rectangle2D表示目标图像的边界框。
        异常
        IllegalArgumentException - 如果源中的波段数与矩阵不兼容。
      • createCompatibleDestRaster

        public WritableRaster createCompatibleDestRaster​(Raster src)
        创建具有正确大小和波段数的归零目标Raster 如果源中的波段数与矩阵不兼容,则可能抛出IllegalArgumentException 有关详细信息,请参阅课程注释。
        Specified by:
        createCompatibleDestRaster在接口 RasterOp
        参数
        src - 要过滤的 Raster
        结果
        归零目的地 Raster
      • getPoint2D

        public final Point2D getPoint2D​(Point2D srcPt,
                                        Point2D dstPt)
        给定源Raster中的一个点,返回相应目标点的位置。 如果指定了dstPt ,则它用于保存返回值。 由于这不是几何操作,因此返回的点与指定的srcPt相同。
        Specified by:
        getPoint2D在界面 RasterOp
        参数
        srcPt - Point2D表示源中的点 Raster
        dstPt - 用于存储结果的 Point2D
        结果
        目标图像中的 Point2D ,对应于源图像中的指定点。
      • getRenderingHints

        public final RenderingHints getRenderingHints()
        返回此操作的呈现提示。
        Specified by:
        getRenderingHints在界面 RasterOp
        结果
        The RenderingHints object associated with this operation. Returns null if no hints have been set.