public class ConvolveOp extends Object implements BufferedImageOp, RasterOp
该类使用BufferedImage数据操作,其中颜色分量与alpha分量预乘。 如果Source BufferedImage有一个alpha组件,并且颜色组件不会与alpha组件预乘,那么在进行卷积之前,数据将被预乘。 如果目的地具有未预乘的颜色分量,则在存储到目的地之前,将α分割(如果alpha为0,则颜色分量设置为0)。 如果目的地没有阿尔法分量,则在首先将其从颜色分量中分离出来后,生成的α被丢弃。
光栅被视为没有alpha通道。 如果不需要对BufferedImages中的Alpha通道进行上述处理,则可以通过获取源BufferedImage的栅格并使用与Raster一起使用的此类的过滤器方法来避免此类处理。
如果在构造函数中指定了RenderingHints对象,则在需要颜色转换时,可以使用颜色渲染提示和抖动提示。
请注意,源和目标可能不是相同的对象。
| Modifier and Type | Field and Description |
|---|---|
static int |
EDGE_NO_OP
源图像边缘的像素被复制到目的地的相应像素,而不进行修改。
|
static int |
EDGE_ZERO_FILL
目标图像边缘的像素设置为零。
|
| Constructor and Description |
|---|
ConvolveOp(Kernel kernel)
构造一个给定内核的ConvolveOp。
|
ConvolveOp(Kernel kernel, int edgeCondition, RenderingHints hints)
构造一个给定内核,边缘条件和RenderingHints对象(可能为null)的ConvolveOp。
|
| Modifier and Type | Method and Description |
|---|---|
BufferedImage |
createCompatibleDestImage(BufferedImage src, ColorModel destCM)
创建带有正确大小和频带数的归零目的地图像。
|
WritableRaster |
createCompatibleDestRaster(Raster src)
给出这个来源,创建一个具有正确大小和频带数的归零目标光栅。
|
BufferedImage |
filter(BufferedImage src, BufferedImage dst)
对BufferedImages执行卷积。
|
WritableRaster |
filter(Raster src, WritableRaster dst)
对光栅进行卷积。
|
Rectangle2D |
getBounds2D(BufferedImage src)
返回已过滤的目标图像的边界框。
|
Rectangle2D |
getBounds2D(Raster src)
返回已筛选的目标栅格的边框。
|
int |
getEdgeCondition()
返回边缘条件。
|
Kernel |
getKernel()
返回内核。
|
Point2D |
getPoint2D(Point2D srcPt, Point2D dstPt)
返回源中给定点的目标点的位置。
|
RenderingHints |
getRenderingHints()
返回此操作的渲染提示。
|
@Native public static final int EDGE_ZERO_FILL
@Native public static final int EDGE_NO_OP
public ConvolveOp(Kernel kernel, int edgeCondition, RenderingHints hints)
kernel - 指定的
Kernel
edgeCondition - 指定边缘条件
hints - 指定的
RenderingHints对象
Kernel , EDGE_NO_OP , EDGE_ZERO_FILL , RenderingHints
public ConvolveOp(Kernel kernel)
kernel - 指定的
Kernel
Kernel , EDGE_ZERO_FILL
public int getEdgeCondition()
ConvolveOp 。
EDGE_NO_OP ,
EDGE_ZERO_FILL
public final Kernel getKernel()
Kernel这个
ConvolveOp 。
public final BufferedImage filter(BufferedImage src, BufferedImage dst)
filter在界面
BufferedImageOp
src - 要过滤的源代码
BufferedImage
dst - 目的地
BufferedImage为过滤
src
BufferedImage
NullPointerException - 如果
src是
null
IllegalArgumentException - 如果
src等于
dst
ImagingOpException - 如果
src无法过滤
public final WritableRaster filter(Raster src, WritableRaster dst)
filter在界面
RasterOp
src - 来源
Raster进行过滤
dst - 目的地
WritableRaster为过滤的
src
WritableRaster
NullPointerException - 如果
src是
null
ImagingOpException - 如果
src和
dst没有相同的频带数
ImagingOpException - 如果
src不能被过滤
IllegalArgumentException - 如果
src等于
dst
public BufferedImage createCompatibleDestImage(BufferedImage src, ColorModel destCM)
createCompatibleDestImage在界面
BufferedImageOp
src - 过滤器操作的源图像。
destCM - 目的地的ColorModel。
可以为null。
BufferedImage 。
public WritableRaster createCompatibleDestRaster(Raster src)
createCompatibleDestRaster在界面
RasterOp
src - 来源
Raster
WritableRaster ,与
src
public final Rectangle2D getBounds2D(BufferedImage src)
getBounds2D在界面
BufferedImageOp
src - 要过滤的
BufferedImage
Rectangle2D代表目的地图像的边界框。
public final Rectangle2D getBounds2D(Raster src)
getBounds2D在界面
RasterOp
src - 来源
Raster
Rectangle2D是由
Raster操作产生的Raster的边框。
public final Point2D getPoint2D(Point2D srcPt, Point2D dstPt)
getPoint2D在界面
BufferedImageOp
getPoint2D在界面
RasterOp
srcPt - 表示源图像中的点的
Point2D
dstPt - 存储结果的
Point2D
Point2D对应于源图像中指定的点的目标图像。
public final RenderingHints getRenderingHints()
getRenderingHints在界面
BufferedImageOp
getRenderingHints在界面
RasterOp
RenderingHints对象为这BufferedImageOp 。
如果没有设置提示,则返回null。
Submit a bug or feature
For further API reference and developer documentation, see Java SE Documentation. That documentation contains more detailed, developer-targeted descriptions, with conceptual overviews, definitions of terms, workarounds, and working code examples.
Copyright © 1993, 2014, Oracle and/or its affiliates. All rights reserved.