public class ConvolveOp extends Objectimplements BufferedImageOp , RasterOp
This class operates with BufferedImage data in which color components are premultiplied with the alpha component. If the Source BufferedImage has an alpha component, and the color components are not premultiplied with the alpha component, then the data are premultiplied before being convolved. If the Destination has color components which are not premultiplied, then alpha is divided out before storing into the Destination (if alpha is 0, the color components are set to 0). If the Destination has no alpha component, then the resulting alpha is discarded after first dividing it out of the color components.
Rasters are treated as having no alpha channel. If the above treatment of the alpha channel in BufferedImages is not desired, it may be avoided by getting the Raster of a source BufferedImage and using the filter method of this class which works with Rasters.
If a RenderingHints object is specified in the constructor, the color rendering hint and the dithering hint may be used when color conversion is required.
Note that the Source and the Destination may not be the same object.
| Modifier and Type | Field and Description |
|---|---|
static int |
EDGE_NO_OP
Pixels at the edge of the source image are copied to the corresponding pixels in the destination without modification.
|
static int |
EDGE_ZERO_FILL
Pixels at the edge of the destination image are set to zero.
|
| Constructor and Description |
|---|
ConvolveOp(Kernel
Constructs a ConvolveOp given a Kernel.
|
ConvolveOp(Kernel
Constructs a ConvolveOp given a Kernel, an edge condition, and a RenderingHints object (which may be null).
|
| Modifier and Type | Method and Description |
|---|---|
BufferedImage |
createCompatibleDestImage(BufferedImage
Creates a zeroed destination image with the correct size and number of bands.
|
WritableRaster |
createCompatibleDestRaster(Raster
Creates a zeroed destination Raster with the correct size and number of bands, given this source.
|
BufferedImage |
filter(BufferedImage
Performs a convolution on BufferedImages.
|
WritableRaster |
filter(Raster
Performs a convolution on Rasters.
|
Rectangle2D |
getBounds2D(BufferedImage
Returns the bounding box of the filtered destination image.
|
Rectangle2D |
getBounds2D(Raster
Returns the bounding box of the filtered destination Raster.
|
int |
getEdgeCondition()
Returns the edge condition.
|
Kernel |
getKernel()
Returns the Kernel.
|
Point2D |
getPoint2D(Point2D
Returns the location of the destination point given a point in the source.
|
RenderingHints |
getRenderingHints()
Returns the rendering hints for this op.
|
@Native public static final int EDGE_ZERO_FILL
@Native public static final int EDGE_NO_OP
public ConvolveOp(Kernelkernel, int edgeCondition, RenderingHints hints)
kernel - the specified
Kernel
edgeCondition - the specified edge condition
hints - the specified
RenderingHints object
Kernel,
EDGE_NO_OP,
EDGE_ZERO_FILL,
RenderingHints
public ConvolveOp(Kernelkernel)
kernel - the specified
Kernel
Kernel,
EDGE_ZERO_FILL
public int getEdgeCondition()
ConvolveOp.
EDGE_NO_OP,
EDGE_ZERO_FILL
public final KernelgetKernel()
Kernel of this
ConvolveOp.
public final BufferedImagefilter(BufferedImage src, BufferedImage dst)
filter in interface
BufferedImageOp
src - the source
BufferedImage to filter
dst - the destination
BufferedImage for the filtered
src
BufferedImage
NullPointerException - if
src is
null
IllegalArgumentException - if
src equals
dst
ImagingOpException - if
src cannot be filtered
public final WritableRasterfilter(Raster src, WritableRaster dst)
filter in interface
RasterOp
src - the source
Raster to filter
dst - the destination
WritableRaster for the filtered
src
WritableRaster
NullPointerException - if
src is
null
ImagingOpException - if
src and
dst do not have the same number of bands
ImagingOpException - if
src cannot be filtered
IllegalArgumentException - if
src equals
dst
public BufferedImagecreateCompatibleDestImage(BufferedImage src, ColorModel destCM)
createCompatibleDestImage in interface
BufferedImageOp
src - Source image for the filter operation.
destCM - ColorModel of the destination. Can be null.
BufferedImage with the correct size and number of bands.
public WritableRastercreateCompatibleDestRaster(Raster src)
createCompatibleDestRaster in interface
RasterOp
src - the source
Raster
WritableRaster that is compatible with
src
public final Rectangle2DgetBounds2D(BufferedImage src)
getBounds2D in interface
BufferedImageOp
src - The
BufferedImage to be filtered
Rectangle2D representing the destination image's bounding box.
public final Rectangle2DgetBounds2D(Raster src)
getBounds2D in interface
RasterOp
src - the source
Raster
Rectangle2D that is the bounding box of the
Raster resulting from the filtering operation.
public final Point2DgetPoint2D(Point2D srcPt, Point2D dstPt)
getPoint2D in interface
BufferedImageOp
getPoint2D in interface
RasterOp
srcPt - the
Point2D that represents the point in the source image
dstPt - The
Point2D in which to store the result
Point2D in the destination image that corresponds to the specified point in the source image.
public final RenderingHintsgetRenderingHints()
getRenderingHints in interface
BufferedImageOp
getRenderingHints in interface
RasterOp
RenderingHints object for this
BufferedImageOp. Returns null if no hints have been set.