Module  java.desktop
软件包  java.awt.image

Class BandCombineOp

  • All Implemented Interfaces:
    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参数可以为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.