|
|||||||||
摘要: 嵌套 | 字段 | 构造方法 | 方法 | 详细信息: 字段 | 构造方法 | 方法 |
java.awt.image
类 ConvolveOp
java.lang.Object java.awt.image.ConvolveOp
- 所有已实现的接口:
- BufferedImageOp, RasterOp
-
public class ConvolveOp
- extends Object
- implements BufferedImageOp, RasterOp
此类实现从源到目标的卷积。使用卷积核的卷积是一种通过输入像素来计算输出像素的空间运算,方法是将核与输入像素邻域相乘。这种运算使得直接邻域可按核数学指定的方式影响输出像素。
此类可对颜色分量预乘 alpha 分量的 BufferedImage 数据进行运算。如果源 BufferedImage 有 alpha 分量,并且颜色分量没有预乘 alpha 分量,则在卷积运算前要先预乘该数据。如果 Destination 有未进行预乘的颜色分量,则在存入到 Destination 之前除以 alpha 分量(如果 alpha 为 0,则颜色分量被设置为 0)。如果 Destination 没有 alpha 分量,则在颜色分量除以 alpha 分量之从后即丢弃 alpha 分量。
Raster 被看作是没有 alpha 通道的。如果不希望对 BufferedImage 中的 alpha 通道进行上述处理,则可以通过获取源 BufferedImage 的 Raster 和使用与 Raster 一起工作的此类的 filter 方法予以避免。
如果 RenderingHints 对象是在构造方法中指定的,则在需要进行颜色变换时使用颜色呈现提示和抖动提示。
注意,Source 和 Destination 可能不是同一个对象。
字段摘要 | |
---|---|
static int |
EDGE_NO_OP 将位于源图像边缘的像素复制为目标中相应的像素,不加修改。 |
static int |
EDGE_ZERO_FILL 位于目标图像边缘的像素被设置为 0。 |
构造方法摘要 | |
---|---|
ConvolveOp(Kernel kernel) 构造给定了 Kernel 的 ConvolveOp。 |
|
ConvolveOp(Kernel kernel, int edgeCondition, RenderingHints hints) 构造给定 Kernel、边缘条件和 RenderingHint 对象(可以为 null)的 ConvolveOp。 |
方法摘要 | |
---|---|
BufferedImage |
createCompatibleDestImage(BufferedImage src, ColorModel destCM) 创建具有正确 band 大小和数量的归零目标图像。 |
WritableRaster |
createCompatibleDestRaster(Raster src) 创建给定源且具有正确 band 大小和数量的归零目标 Raster。 |
BufferedImage |
filter(BufferedImage src, BufferedImage dst) 对 BufferedImage 执行卷积运算。 |
WritableRaster |
filter(Raster src, WritableRaster dst) 对 Raster 执行卷积运算。 |
Rectangle2D |
getBounds2D(BufferedImage src) 返回已过滤目标图像的边界框。 |
Rectangle2D |
getBounds2D(Raster src) 返回已过滤目标 Raster 的边界框。 |
int |
getEdgeCondition() 返回边缘条件。 |
Kernel |
getKernel() 返回 Kernel。 |
Point2D |
getPoint2D(Point2D srcPt, Point2D dstPt) 返回源中给定点的目标点位置。 |
RenderingHints |
getRenderingHints() 返回此 op 的呈现提示。 |
从类 java.lang.Object 继承的方法 |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
字段详细信息 |
---|
EDGE_ZERO_FILL
public static final int EDGE_ZERO_FILL
-
位于目标图像边缘的像素被设置为 0。这是默认设置。
- 另请参见:
- 常量字段值
EDGE_NO_OP
public static final int EDGE_NO_OP
-
将位于源图像边缘的像素复制为目标中相应的像素,不加修改。
- 另请参见:
- 常量字段值
构造方法详细信息 |
---|
ConvolveOp
public ConvolveOp(Kernel kernel, int edgeCondition, RenderingHints hints)
-
构造给定 Kernel、边缘条件和 RenderingHint 对象(可以为 null)的 ConvolveOp。
- 参数:
-
kernel
- 指定的Kernel
-
edgeCondition
- 指定的边缘条件 -
hints
- 指定的RenderingHints
对象 - 另请参见:
-
Kernel
,EDGE_NO_OP
,EDGE_ZERO_FILL
,RenderingHints
ConvolveOp
public ConvolveOp(Kernel kernel)
-
构造给定了 Kernel 的 ConvolveOp。边缘条件将为 EDGE_ZERO_FILL。
- 参数:
-
kernel
- 指定的Kernel
- 另请参见:
-
Kernel
,EDGE_ZERO_FILL
方法详细信息 |
---|
getEdgeCondition
public int getEdgeCondition()
- 返回边缘条件。
-
-
- 返回:
-
ConvolveOp
的边缘条件。 - 另请参见:
-
EDGE_NO_OP
,EDGE_ZERO_FILL
getKernel
public final Kernel getKernel()
- 返回 Kernel。
-
-
- 返回:
-
ConvolveOp
的Kernel
。
filter
public final BufferedImage filter(BufferedImage src, BufferedImage dst)
- 对 BufferedImage 执行卷积运算。源图像的每个分量都将被卷积处理(包括 alpha 分量,如果存在)。如果源图像中的颜色模型与目标图像中的不相同,则像素将按目标中像素转换。如果目标图像为 null,则使用源 ColorModel 创建 BufferedImage。如果源与目标相同,则可能抛出 IllegalArgumentException。
-
- 指定者:
-
接口
BufferedImageOp
中的filter
-
- 参数:
-
src
- 要过滤的源BufferedImage
-
dst
- 已过滤的src
的目标BufferedImage
- 返回:
-
已过滤的
BufferedImage
- 抛出:
-
NullPointerException
- 如果src
为null
-
IllegalArgumentException
- 如果src
等于dst
-
ImagingOpException
- 如果src
不能过滤
filter
public final WritableRaster filter(Raster src, WritableRaster dst)
- 对 Raster 执行卷积运算。源 Raster 的每个 band 都将被卷积处理。源和目标必须有相同数量的 band。如果目标 Raster 为 null,则创建新 Raster。如果源与目标相同,则可能抛出 IllegalArgumentException。
-
- 参数:
-
src
- 要过滤的源Raster
-
dst
- 已过滤的src
的目标WritableRaster
- 返回:
-
已过滤的
WritableRaster
- 抛出:
-
NullPointerException
- 如果src
为null
-
ImagingOpException
- 如果src
和dst
没有相同数量的 band -
ImagingOpException
- 如果src
不能过滤 -
IllegalArgumentException
- 如果src
等于dst
createCompatibleDestImage
public BufferedImage createCompatibleDestImage(BufferedImage src, ColorModel destCM)
- 创建具有正确 band 大小和数量的归零目标图像。如果 destCM 为 null,则使用适当的 ColorModel。
-
- 指定者:
-
接口
BufferedImageOp
中的createCompatibleDestImage
-
- 参数:
-
src
- 进行过滤操作的源图像。 -
destCM
- 目标的 ColorModel。可以为 null。 - 返回:
-
具有正确 band 大小和数量的
BufferedImage
。