Class ConvolveOp
- All Implemented Interfaces:
-
BufferedImageOp
,RasterOp
public class ConvolveOp extends Object implements 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.
Field Summary
Modifier and Type | Field | Description |
---|---|---|
static final int |
EDGE_NO_OP |
Pixels at the edge of the source image are copied to the corresponding pixels in the destination without modification. |
static final int |
EDGE_ZERO_FILL |
Pixels at the edge of the destination image are set to zero. |
Constructor Summary
Constructor | Description |
---|---|
ConvolveOp |
Constructs a ConvolveOp given a Kernel. |
ConvolveOp |
Constructs a ConvolveOp given a Kernel, an edge condition, and a RenderingHints object (which may be null). |
Method Summary
Modifier and Type | Method | Description |
---|---|---|
BufferedImage |
createCompatibleDestImage |
Creates a zeroed destination image with the correct size and number of bands. |
WritableRaster |
createCompatibleDestRaster |
Creates a zeroed destination Raster with the correct size and number of bands, given this source. |
final BufferedImage |
filter |
Performs a convolution on BufferedImages. |
final WritableRaster |
filter |
Performs a convolution on Rasters. |
final Rectangle2D |
getBounds2D |
Returns the bounding box of the filtered destination image. |
final Rectangle2D |
getBounds2D |
Returns the bounding box of the filtered destination Raster. |
int |
getEdgeCondition() |
Returns the edge condition. |
final Kernel |
getKernel() |
Returns the Kernel. |
final Point2D |
getPoint2D |
Returns the location of the destination point given a point in the source. |
final RenderingHints |
getRenderingHints() |
Returns the rendering hints for this op. |
Field Details
EDGE_ZERO_FILL
@Native public static final int EDGE_ZERO_FILL
- See Also:
EDGE_NO_OP
@Native public static final int EDGE_NO_OP
- See Also:
Constructor Details
ConvolveOp
public ConvolveOp(Kernel kernel, int edgeCondition, RenderingHints hints)
- Parameters:
-
kernel
- the specifiedKernel
-
edgeCondition
- the specified edge condition -
hints
- the specifiedRenderingHints
object - See Also:
ConvolveOp
public ConvolveOp(Kernel kernel)
- Parameters:
-
kernel
- the specifiedKernel
- See Also:
Method Details
getEdgeCondition
public int getEdgeCondition()
- Returns:
- the edge condition of this
ConvolveOp
. - See Also:
getKernel
public final Kernel getKernel()
- Returns:
- the
Kernel
of thisConvolveOp
.
filter
public final BufferedImage filter(BufferedImage src, BufferedImage dst)
- Specified by:
-
filter
in interfaceBufferedImageOp
- Parameters:
-
src
- the sourceBufferedImage
to filter -
dst
- the destinationBufferedImage
for the filteredsrc
- Returns:
- the filtered
BufferedImage
- Throws:
-
NullPointerException
- ifsrc
isnull
-
IllegalArgumentException
- ifsrc
equalsdst
-
ImagingOpException
- ifsrc
cannot be filtered
filter
public final WritableRaster filter(Raster src, WritableRaster dst)
- Specified by:
-
filter
in interfaceRasterOp
- Parameters:
-
src
- the sourceRaster
to filter -
dst
- the destinationWritableRaster
for the filteredsrc
- Returns:
- the filtered
WritableRaster
- Throws:
-
NullPointerException
- ifsrc
isnull
-
ImagingOpException
- ifsrc
anddst
do not have the same number of bands -
ImagingOpException
- ifsrc
cannot be filtered -
IllegalArgumentException
- ifsrc
equalsdst
createCompatibleDestImage
public BufferedImage createCompatibleDestImage(BufferedImage src, ColorModel destCM)
- Specified by:
-
createCompatibleDestImage
in interfaceBufferedImageOp
- Parameters:
-
src
- Source image for the filter operation. -
destCM
- ColorModel of the destination. Can be null. - Returns:
- a destination
BufferedImage
with the correct size and number of bands.
createCompatibleDestRaster
public WritableRaster createCompatibleDestRaster(Raster src)
- Specified by:
-
createCompatibleDestRaster
in interfaceRasterOp
- Parameters:
-
src
- the sourceRaster
- Returns:
- a
WritableRaster
that is compatible withsrc
getBounds2D
public final Rectangle2D getBounds2D(BufferedImage src)
- Specified by:
-
getBounds2D
in interfaceBufferedImageOp
- Parameters:
-
src
- TheBufferedImage
to be filtered - Returns:
- The
Rectangle2D
representing the destination image's bounding box.
getBounds2D
public final Rectangle2D getBounds2D(Raster src)
- Specified by:
-
getBounds2D
in interfaceRasterOp
- Parameters:
-
src
- the sourceRaster
- Returns:
- a
Rectangle2D
that is the bounding box of theRaster
resulting from the filtering operation.
getPoint2D
public final Point2D getPoint2D(Point2D srcPt, Point2D dstPt)
- Specified by:
-
getPoint2D
in interfaceBufferedImageOp
- Specified by:
-
getPoint2D
in interfaceRasterOp
- Parameters:
-
srcPt
- thePoint2D
that represents the point in the source image -
dstPt
- ThePoint2D
in which to store the result - Returns:
- The
Point2D
in the destination image that corresponds to the specified point in the source image.
getRenderingHints
public final RenderingHints getRenderingHints()
- Specified by:
-
getRenderingHints
in interfaceBufferedImageOp
- Specified by:
-
getRenderingHints
in interfaceRasterOp
- Returns:
- The
RenderingHints
object for thisBufferedImageOp
. Returns null if no hints have been set.
© 1993, 2021, Oracle and/or its affiliates. All rights reserved.
Documentation extracted from Debian's OpenJDK Development Kit package.
Licensed under the GNU General Public License, version 2, with the Classpath Exception.
Various third party code in OpenJDK is licensed under different licenses (see Debian package).
Java and OpenJDK are trademarks or registered trademarks of Oracle and/or its affiliates.
https://docs.oracle.com/en/java/javase/17/docs/api/java.desktop/java/awt/image/ConvolveOp.html