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.
Kernel, java.awt.RenderingHints#KEY_COLOR_RENDERING , java.awt.RenderingHints#KEY_DITHERING
| Modifier and Type | Field and Description |
|---|---|
| public 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. |
| public static final int | EDGE_ZERO_FILL
Pixels at the edge of the destination image are set to zero. |
| pack-priv int | |
| pack-priv RenderingHints | |
| pack-priv Kernel |
| Access | Constructor and Description |
|---|---|
| public | ConvolveOp(Kernel
the specified kernel, int Kernelthe specified edge condition edgeCondition, RenderingHints the specified hints)RenderingHints objectConstructs a ConvolveOp given a Kernel, an edge condition, and a RenderingHints object (which may be null). |
| public |
| Modifier and Type | Method and Description |
|---|---|
| public BufferedImage | Returns: a destinationBufferedImage with the correct
size and number of bands.Source image for the filter operation. src, ColorModel ColorModel of the destination. Can be null. destCM)Implements java. Creates a zeroed destination image with the correct size and number of bands. |
| public WritableRaster | createCompatibleDestRaster(Raster src)
Implements java. Creates a zeroed destination Raster with the correct size and number of bands, given this source. |
| public final BufferedImage | Returns: the filteredBufferedImagethe source src, BufferedImage BufferedImage to filterthe destination dst)BufferedImage for the
filtered srcImplements java. Performs a convolution on BufferedImages. |
| public final WritableRaster | Returns: the filteredWritableRasterthe source src, WritableRaster Raster to filterthe destination dst)WritableRaster for the
filtered srcImplements java. Performs a convolution on Rasters. |
| public final Rectangle2D | getBounds2D(BufferedImage src)
Implements java. Returns the bounding box of the filtered destination image. |
| public final Rectangle2D | getBounds2D(Raster src)
Implements java. Returns the bounding box of the filtered destination Raster. |
| public int | |
| public final Kernel | |
| public final Point2D | getPoint2D(Point2D srcPt, Point2D dstPt)
Implements java. Returns the location of the destination point given a point in the source. |
| public final RenderingHints | getRenderingHints()
Implements java. Returns the rendering hints for this op. |
| EDGE_NO_OP | back to summary |
|---|---|
| public 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. | |
| EDGE_ZERO_FILL | back to summary |
|---|---|
| public static final int EDGE_ZERO_FILL Pixels at the edge of the destination image are set to zero. This is the default. | |
| edgeHint | back to summary |
|---|---|
| pack-priv int edgeHint | |
| hints | back to summary |
|---|---|
| pack-priv RenderingHints hints | |
| kernel | back to summary |
|---|---|
| pack-priv Kernel kernel | |
| ConvolveOp | back to summary |
|---|---|
| public ConvolveOp(Kernel kernel, int edgeCondition, RenderingHints hints) Constructs a ConvolveOp given a Kernel, an edge condition, and a RenderingHints object (which may be null).
| |
| ConvolveOp | back to summary |
|---|---|
| public ConvolveOp(Kernel kernel) Constructs a ConvolveOp given a Kernel. The edge condition will be EDGE_ZERO_FILL.
| |
| createCompatibleDestImage | back to summary |
|---|---|
| public BufferedImage createCompatibleDestImage(BufferedImage src, ColorModel destCM) Implements java. Creates a zeroed destination image with the correct size and number of bands. If destCM is null, an appropriate ColorModel will be used.
| |
| createCompatibleDestRaster | back to summary |
|---|---|
| public WritableRaster createCompatibleDestRaster(Raster src) Implements java. Creates a zeroed destination Raster with the correct size and number of bands, given this source. | |
| filter | back to summary |
|---|---|
| public final BufferedImage filter(BufferedImage src, BufferedImage dst) Implements java. Performs a convolution on BufferedImages. Each component of the source image will be convolved (including the alpha component, if present). If the color model in the source image is not the same as that in the destination image, the pixels will be converted in the destination. If the destination image is null, a BufferedImage will be created with the source ColorModel. The IllegalArgumentException may be thrown if the source is the same as the destination.
| |
| filter | back to summary |
|---|---|
| public final WritableRaster filter(Raster src, WritableRaster dst) Implements java. Performs a convolution on Rasters. Each band of the source Raster will be convolved. The source and destination must have the same number of bands. If the destination Raster is null, a new Raster will be created. The IllegalArgumentException may be thrown if the source is the same as the destination.
| |
| getBounds2D | back to summary |
|---|---|
| public final Rectangle2D getBounds2D(BufferedImage src) Implements java. Returns the bounding box of the filtered destination image. Since this is not a geometric operation, the bounding box does not change. | |
| getBounds2D | back to summary |
|---|---|
| public final Rectangle2D getBounds2D(Raster src) Implements java. Returns the bounding box of the filtered destination Raster. Since this is not a geometric operation, the bounding box does not change. | |
| getEdgeCondition | back to summary |
|---|---|
| public int getEdgeCondition() Returns the edge condition.
| |
| getKernel | back to summary |
|---|---|
| public final Kernel getKernel() Returns the Kernel.
| |
| getPoint2D | back to summary |
|---|---|
| public final Point2D getPoint2D(Point2D srcPt, Point2D dstPt) Implements java. Returns the location of the destination point given a point in the source. If dstPt is non-null, it will be used to hold the return value. Since this is not a geometric operation, the srcPt will equal the dstPt. | |
| getRenderingHints | back to summary |
|---|---|
| public final RenderingHints getRenderingHints() Implements java. Returns the rendering hints for this op. | |