- java.lang.Object
-
- java.awt.image.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 ]
请注意,源和目的地可以是同一个对象。
-
-
构造方法摘要
构造方法 Constructor 描述 BandCombineOp(float[][] matrix, RenderingHints hints)
构造具有指定矩阵的BandCombineOp
。
-
方法摘要
所有方法 接口方法 具体的方法 Modifier and Type 方法 描述 WritableRaster
createCompatibleDestRaster(Raster src)
创建带有正确大小和频带数的归零目的地Raster
。WritableRaster
filter(Raster src, WritableRaster dst)
使用构造函数中指定的矩阵来转换Raster
。Rectangle2D
getBounds2D(Raster src)
返回已转换目的地的边界框。float[][]
getMatrix()
返回线性组合矩阵的副本。Point2D
getPoint2D(Point2D srcPt, Point2D dstPt)
返回源Raster
给定点的对应目标点的位置。RenderingHints
getRenderingHints()
返回此操作的呈现提示。
-
-
-
构造方法详细信息
-
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.
-
-