java.lang.Object java.awt.image.BandCombineOp
此类使用一个指定矩阵对 Raster
中的 band 进行任意线性组合。
矩阵的宽度必须等于源 Raster
中的 band 数(可以加一)。如果矩阵中的列数比 band 数多 1,则在 band 样本向量的结尾处存在一个隐含的 1,它表示一个像素。矩阵的高度必须等于目标图像中的 band 数。
例如,对于一个 band 数为 3 的 Raster
,为了反转 Raster
的第二个 band,可以对每个像素应用以下变换。
[ 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(float[][] matrix, RenderingHints hints) 构造一个具有指定矩阵的 BandCombineOp 。 |
方法摘要 | |
---|---|
WritableRaster |
createCompatibleDestRaster(Raster src) 创建一个经过检查的目标 Raster ,它具有正确大小和 band 数。 |
WritableRaster |
filter(Raster src, WritableRaster dst) 使用构造方法中指定的矩阵变换该 Raster 。 |
Rectangle2D |
getBounds2D(Raster src) 返回变换后目标图像的边界框。 |
float[][] |
getMatrix() 返回线性组合矩阵的一个副本。 |
Point2D |
getPoint2D(Point2D srcPt, Point2D dstPt) 返回与源 Raster 中给定点对应的目标点的位置。 |
RenderingHints |
getRenderingHints() 返回针对此操作呈现的提示。 |
从类 java.lang.Object 继承的方法 |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
构造方法详细信息 |
---|
public BandCombineOp(float[][] matrix, RenderingHints hints)
BandCombineOp
。矩阵的宽度必须等于源
Raster
中的 band 数(可以加一)。如果矩阵中的列数比 band 数多 1,则在 band 样本向量的结尾处存在一个隐含的 1,它表示一个像素。矩阵的高度必须等于目标图像中的 band 数。
第一个下标是行索引,第二个下标是列索引。此操作没有使用当前定义的呈现提示;RenderingHints
参数可以为 null。
matrix
- 进行 band 组合操作要使用的矩阵。
hints
- 用于此操作的
RenderingHints
对象。当前没有使用提示,因此它可以为 null。
方法详细信息 |
---|
public final float[][] getMatrix()
public WritableRaster filter(Raster src, WritableRaster dst)
Raster
。如果源图像或目标图像中的 band 数与矩阵不一致,则抛出
IllegalArgumentException
。有关更多详细信息,请参阅类注释。
如果目标图像为 null,则将创建它,使 band 数等于矩阵中的行数。即使该操作引起数据溢出,也不会抛出异常。
src
- 要过滤的
Raster
。
dst
- 要在其中存储过滤操作结果的
Raster
。
Raster
。
IllegalArgumentException
- 如果源图像或目标图像中的 band 数与矩阵不一致。
public final Rectangle2D getBounds2D(Raster src)
IllegalArgumentException
。有关更多详细信息,请参阅类注释。
RasterOp
中的
getBounds2D
src
- 要过滤的
Raster
。
Rectangle2D
。
IllegalArgumentException
- 如果源图像中的 band 数与矩阵不一致。
public WritableRaster createCompatibleDestRaster(Raster src)
Raster
,它具有正确大小和 band 数。如果源图像中的 band 数与矩阵不一致,则抛出
IllegalArgumentException
。有关更多详细信息,请参阅类注释。
RasterOp
中的
createCompatibleDestRaster
src
- 要过滤的
Raster
。
Raster
。
public final Point2D getPoint2D(Point2D srcPt, Point2D dstPt)
Raster
中给定点对应的目标点的位置。如果指定了
dstPt
,则使用它来保存返回值。由于这不是一个几何操作,因此返回的点与指定的
srcPt
相同。
RasterOp
中的
getPoint2D
srcPt
- 表示源
Raster
中点的
Point2D
dstPt
- 用于存储结果的
Point2D
。
Point2D
。
public final RenderingHints getRenderingHints()
RasterOp
中的
getRenderingHints
RenderingHints
对象。如果没有设置提示,则返回 null。