Contents | Package | Class | Tree | Deprecated | Index | Help Java 1.2 Beta 3
PREV | NEXT SHOW LISTS | HIDE LISTS

Class java.awt.image.ConvolveOp

java.lang.Object
    |
    +----java.awt.image.ConvolveOp

public class ConvolveOp
extends Object
implements BufferedImageOp, RasterOp
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 that are premultiplied with alpha. 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 alpha components which are not premultiplied, then alpha is divided out before storing into the Destination. 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.

Note that the Source and the Destination may not be the same object.

See Also:
Kernel

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, int edgeHint)
Constructs a ConvolveOp given a Kernel and an edge hint.
 ConvolveOp(Kernel kernel)
Constructs a ConvolveOp given a Kernel.
 

Method Summary
BufferedImage  createCompatibleDestImage(BufferedImage src, ColorModel destCM)
Creates an empty destination image with the correct size and number of channels.
WritableRaster  createCompatibleDestRaster(Raster src)
Creates an empty destination Raster with the correct size and number of channels.
BufferedImage  filter(BufferedImage src, BufferedImage dst)
Perform a convolution on BufferedImages.
WritableRaster  filter(Raster src, WritableRaster dst)
Perform a convolution on Rasters.
Rectangle2D  getDestBounds(BufferedImage src)
Returns the bounding box of the filtered destination image.
Rectangle2D  getDestBounds(Raster src)
Returns the bounding box of the filtered destination Raster.
Point2D  getDestPoint(Point2D srcPt, Point2D dstPt)
Returns the location of the destination point given a point in the source image.
int  getEdgeHint()
Return the edge hint.
Kernel  getKernel()
Return the Kernel.
 
Methods inherited from class java.lang.Object
 clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

EDGE_ZERO_FILL

public static final int EDGE_ZERO_FILL
Pixels at the edge of the destination image are set to zero. This is the default.

EDGE_NO_OP

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.
Constructor Detail

ConvolveOp

public ConvolveOp(Kernel kernel,
                  int edgeHint)
Constructs a ConvolveOp given a Kernel and an edge hint.
See Also:
Kernel, EDGE_NO_OP, EDGE_ZERO_FILL

ConvolveOp

public ConvolveOp(Kernel kernel)
Constructs a ConvolveOp given a Kernel. The edge hint will be EDGE_ZERO_FILL.
See Also:
Kernel, EDGE_ZERO_FILL
Method Detail

getEdgeHint

public int getEdgeHint()
Return the edge hint.
See Also:
EDGE_NO_OP, EDGE_ZERO_FILL

getKernel

public Kernel getKernel()
Return the Kernel.

filter

public BufferedImage filter(BufferedImage src,
                            BufferedImage dst)
Perform a convolution on BufferedImages. Each component of the source image will be convolved. 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.
Implements:
filter in interface BufferedImageOp

filter

public WritableRaster filter(Raster src,
                             WritableRaster dst)
Perform a convolution on Rasters. Each channel of the source Raster will be convolved. The source and destination must have the same number of channels. 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.
Implements:
filter in interface BufferedImageOp

createCompatibleDestImage

public BufferedImage createCompatibleDestImage(BufferedImage src,
                                               ColorModel destCM)
Creates an empty destination image with the correct size and number of channels.
Implements:
createCompatibleDestImage in interface BufferedImageOp
Parameters:
src - Source image for the filter operation
destCM - ColorModel of the destination. Can be null.

createCompatibleDestRaster

public WritableRaster createCompatibleDestRaster(Raster src)
Creates an empty destination Raster with the correct size and number of channels.
Implements:
createCompatibleDestRaster in interface RasterOp

getDestBounds

public Rectangle2D getDestBounds(BufferedImage src)
Returns the bounding box of the filtered destination image. Since this is not a geometric operation, the bounding box does not change.
Implements:
getDestBounds in interface BufferedImageOp

getDestBounds

public Rectangle2D getDestBounds(Raster src)
Returns the bounding box of the filtered destination Raster. Since this is not a geometric operation, the bounding box does not change.
Implements:
getDestBounds in interface BufferedImageOp

getDestPoint

public Point2D getDestPoint(Point2D srcPt,
                            Point2D dstPt)
Returns the location of the destination point given a point in the source image. 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.
Implements:
getDestPoint in interface BufferedImageOp

Contents | Package | Class | Tree | Deprecated | Index | Help Java 1.2 Beta 3
PREV | NEXT SHOW LISTS | HIDE LISTS

Submit a bug or feature
Submit comments/suggestions about new javadoc look.
Java is a trademark or registered trademark of Sun Microsystems, Inc. in the US and other countries.
Copyright 1993-1998 Sun Microsystems, Inc. 901 San Antonio Road, Palo Alto, California, 94303, U.S.A. All Rights Reserved.