返回介绍

java.awt.image 类 BandCombineOp

发布于 2019-10-04 09:50:29 字数 6527 浏览 977 评论 0 收藏 0

java.lang.Object
  └java.awt.image.BandCombineOp
所有已实现的接口:
RasterOp

public class BandCombineOp
extends Object
 
implements RasterOp
 

此类使用一个指定矩阵对 Raster 中的 band 进行任意线性组合。

矩阵的宽度必须等于源 Raster 中的 band 数(可以加一)。如果矩阵中的列数比 band 数多 1,则在 band 样本向量的结尾处隐含着 1 个 band,它表示一个像素。矩阵的高度必须等于目标图像中的 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, RenderingHintshints)

构造一个具有指定矩阵的 BandCombineOp

方法摘要
WritableRastercreateCompatibleDestRaster(Rastersrc)

创建一个具有正确大小和 band 数的经过检查的目标 Raster

WritableRasterfilter(Rastersrc, WritableRasterdst)

使用构造方法中指定的矩阵变换该 Raster

Rectangle2DgetBounds2D(Rastersrc)

返回变换后的目标图像的边界框。

float[][]getMatrix()

返回该矩阵。

Point2DgetPoint2D(Point2DsrcPt, Point2DdstPt)

返回与源 Raster 中给定点对应的目标点的位置。

RenderingHintsgetRenderingHints()

返回针对此操作呈现的提示。

从类 java.lang.Object 继承的方法
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait

构造方法详细信息

BandCombineOp

public BandCombineOp(float[][]matrix,
                     RenderingHintshints)
构造一个具有指定矩阵的 BandCombineOp 。矩阵的宽度必须等于源 Raster 中的 band 数(可以加一)。如果矩阵中的列数比 band 数多 1,则在 band 样本向量的结尾处隐含着 1 个 band,它表示一个像素。矩阵的高度必须等于目标图像中的 band 数。

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

参数:
matrix - 进行 band 组合操作要使用的矩阵。
hints - 用于此操作的 RenderingHints 对象。当前没有使用提示,因此它可以为 null。

方法详细信息

getMatrix

public final float[][] getMatrix()
返回该矩阵。
返回:
与此 band 组合操作关联的矩阵。

filter

public WritableRaster filter(Rastersrc,
                             WritableRasterdst)
使用构造方法中指定的矩阵变换该 Raster 。如果源图像或目标图像中的 band 数与矩阵不一致,则可能抛出 IllegalArgumentException 。有关更多详细信息,请参见类注释。

如果目标图像为 null,则将根据 band 数创建它,band 数等于矩阵中的行数。即使该操作引起数据溢出,也不会抛出异常。

指定者:
接口 RasterOp 中的 filter
参数:
src - 要过滤的 Raster
dst - 要在其中存储过滤操作结果的 Raster
返回:
过滤后的 Raster
抛出:
IllegalArgumentException - 如果源图像或目标图像中的 band 数与矩阵不一致。

getBounds2D

public final Rectangle2D getBounds2D(Rastersrc)
返回变换后的目标图像的边界框。由于这不是一个几何操作,因此源图像和目标图像的边界框相同。如果源图像中的 band 数与矩阵不一致,则可能抛出 IllegalArgumentException 。有关更多详细信息,请参见类注释。
指定者:
接口 RasterOp 中的 getBounds2D
参数:
src - 要过滤的 Raster
返回:
表示目标图像边界框的 Rectangle2D
抛出:
IllegalArgumentException - 如果源图像中的 band 数与矩阵不一致。

createCompatibleDestRaster

public WritableRaster createCompatibleDestRaster(Rastersrc)
创建一个具有正确大小和 band 数的经过检查的目标 Raster 。如果源图像中的 band 数与矩阵不一致,则可能抛出 IllegalArgumentException 。有关更多详细信息,请参见类注释。
指定者:
接口 RasterOp 中的 createCompatibleDestRaster
参数:
src - 要过滤的 Raster
返回:
经过检查的目标 Raster

getPoint2D

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

getRenderingHints

public final RenderingHints getRenderingHints()
返回针对此操作呈现的提示。
指定者:
接口 RasterOp 中的 getRenderingHints
返回:
与此操作关联的 RenderingHints 对象。如果没有设置提示,则返回 null。

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据
    我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
    原文