|
JavaTM 2 Platform Std. Ed. v1.3 |
|||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: INNER | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||
java.lang.Object | +--java.awt.image.ConvolveOp
This class implements a convolution from the source to the destination. Convolution using a convolution kernel is a spatial operation that computes the output pixel from an input pixel by multiplying the kernel with the surround of the input pixel. This allows the output pixel to be affected by the immediate neighborhood in a way that can be mathematically specified with a kernel.
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,
RenderingHints.KEY_COLOR_RENDERING,
RenderingHints.KEY_DITHERING| Field Summary | |
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 Summary | |
ConvolveOp(Kernel kernel)
Constructs a ConvolveOp given a Kernel. |
|
ConvolveOp(Kernel kernel,
int edgeCondition,
RenderingHints hints)
Constructs a ConvolveOp given a Kernel, an edge condition, and a RenderingHints object (which may be null). |
|
| Method Summary | |
BufferedImage |
createCompatibleDestImage(BufferedImage src,
ColorModel destCM)
Creates a zeroed destination image with the correct size and number of bands. |
WritableRaster |
createCompatibleDestRaster(Raster src)
Creates a zeroed destination Raster with the correct size and number of bands, given this source. |
BufferedImage |
filter(BufferedImage src,
BufferedImage dst)
Performs a convolution on BufferedImages. |
WritableRaster |
filter(Raster src,
WritableRaster dst)
Performs a convolution on Rasters. |
Rectangle2D |
getBounds2D(BufferedImage src)
Returns the bounding box of the filtered destination image. |
Rectangle2D |
getBounds2D(Raster src)
Returns the bounding box of the filtered destination Raster. |
int |
getEdgeCondition()
Returns the edge condition. |
Kernel |
getKernel()
Returns the Kernel. |
Point2D |
getPoint2D(Point2D srcPt,
Point2D dstPt)
Returns the location of the destination point given a point in the source. |
RenderingHints |
getRenderingHints()
Returns the rendering hints for this op. |
| Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
| Field Detail |
public static final int EDGE_ZERO_FILL
public static final int EDGE_NO_OP
| Constructor Detail |
public ConvolveOp(Kernel kernel,
int edgeCondition,
RenderingHints hints)
Kernel,
EDGE_NO_OP,
EDGE_ZERO_FILL,
RenderingHintspublic ConvolveOp(Kernel kernel)
Kernel,
EDGE_ZERO_FILL| Method Detail |
public int getEdgeCondition()
EDGE_NO_OP,
EDGE_ZERO_FILLpublic final Kernel getKernel()
public final BufferedImage filter(BufferedImage src,
BufferedImage dst)
filter in interface BufferedImageOpsrc - the source BufferedImage to filterdst - the destination BufferedImage for the
filtered srcBufferedImageNullPointerException - if src is nullIllegalArgumentException - if src equals
dstImagingOpException - if src cannot be filtered
public final WritableRaster filter(Raster src,
WritableRaster dst)
filter in interface RasterOpsrc - the source Raster to filterdst - the destination WritableRaster for the
filtered srcWritableRasterNullPointerException - if src is nullImagingOpException - if src and dst
do not have the same number of bandsImagingOpException - if src cannot be filteredIllegalArgumentException - if src equals
dst
public BufferedImage createCompatibleDestImage(BufferedImage src,
ColorModel destCM)
createCompatibleDestImage in interface BufferedImageOpsrc - Source image for the filter operation.destCM - ColorModel of the destination. Can be null.public WritableRaster createCompatibleDestRaster(Raster src)
createCompatibleDestRaster in interface RasterOppublic final Rectangle2D getBounds2D(BufferedImage src)
getBounds2D in interface BufferedImageOppublic final Rectangle2D getBounds2D(Raster src)
getBounds2D in interface RasterOp
public final Point2D getPoint2D(Point2D srcPt,
Point2D dstPt)
getPoint2D in interface BufferedImageOppublic final RenderingHints getRenderingHints()
getRenderingHints in interface BufferedImageOp
|
JavaTM 2 Platform Std. Ed. v1.3 |
|||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: INNER | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||
Java, Java 2D, and JDBC are trademarks or registered trademarks of Sun Microsystems, Inc. in the US and other countries.
Copyright 1993-2000 Sun Microsystems, Inc. 901 San Antonio Road
Palo Alto, California, 94303, U.S.A. All Rights Reserved.