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。