org.apache.batik.ext.awt.image.rendered
Class MorphologyOp
java.lang.Object
|
+--org.apache.batik.ext.awt.image.rendered.MorphologyOp
- All Implemented Interfaces:
- java.awt.image.BufferedImageOp, java.awt.image.RasterOp
- public class MorphologyOp
- extends java.lang.Object
- implements java.awt.image.BufferedImageOp, java.awt.image.RasterOp
This class provides an implementation for the SVG
feMorphology filter, as defined in Chapter 15, section 20
of the SVG specification.
Constructor Summary |
MorphologyOp(int radiusX,
int radiusY,
boolean doDilation)
|
Method Summary |
java.awt.image.BufferedImage |
createCompatibleDestImage(java.awt.image.BufferedImage src,
java.awt.image.ColorModel destCM)
|
java.awt.image.WritableRaster |
createCompatibleDestRaster(java.awt.image.Raster src)
|
java.awt.image.BufferedImage |
filter(java.awt.image.BufferedImage src,
java.awt.image.BufferedImage dest)
This implementation of filter does the morphology operation
on a premultiplied alpha image. |
java.awt.image.WritableRaster |
filter(java.awt.image.Raster src,
java.awt.image.WritableRaster dest)
Filters src and writes result into dest. |
java.awt.geom.Rectangle2D |
getBounds2D(java.awt.image.BufferedImage src)
|
java.awt.geom.Rectangle2D |
getBounds2D(java.awt.image.Raster src)
|
java.awt.geom.Point2D |
getPoint2D(java.awt.geom.Point2D srcPt,
java.awt.geom.Point2D destPt)
|
java.awt.RenderingHints |
getRenderingHints()
|
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
MorphologyOp
public MorphologyOp(int radiusX,
int radiusY,
boolean doDilation)
- Parameters:
radiusX
- defines the radius of filter operation on X-axis. Should not be negative.
A value of zero will disable the effect of the operation on X-axis, as described
in the SVG specification.radiusY
- defines the radius of filter operation on Y-axis. Should not be negative.
A value of zero will disable the effect of the operation on Y-axis, as described
in the SVG specification.doDilation
- defines whether to do dilation or erosion operation. Will do dilation
when the value is true, erosion when false.
getBounds2D
public java.awt.geom.Rectangle2D getBounds2D(java.awt.image.Raster src)
- Specified by:
getBounds2D
in interface java.awt.image.RasterOp
getBounds2D
public java.awt.geom.Rectangle2D getBounds2D(java.awt.image.BufferedImage src)
- Specified by:
getBounds2D
in interface java.awt.image.BufferedImageOp
getPoint2D
public java.awt.geom.Point2D getPoint2D(java.awt.geom.Point2D srcPt,
java.awt.geom.Point2D destPt)
- Specified by:
getPoint2D
in interface java.awt.image.BufferedImageOp
getRenderingHints
public java.awt.RenderingHints getRenderingHints()
- Specified by:
getRenderingHints
in interface java.awt.image.BufferedImageOp
createCompatibleDestRaster
public java.awt.image.WritableRaster createCompatibleDestRaster(java.awt.image.Raster src)
- Specified by:
createCompatibleDestRaster
in interface java.awt.image.RasterOp
createCompatibleDestImage
public java.awt.image.BufferedImage createCompatibleDestImage(java.awt.image.BufferedImage src,
java.awt.image.ColorModel destCM)
- Specified by:
createCompatibleDestImage
in interface java.awt.image.BufferedImageOp
filter
public java.awt.image.WritableRaster filter(java.awt.image.Raster src,
java.awt.image.WritableRaster dest)
- Filters src and writes result into dest. If dest if null, then
a Raster is created. If dest and src refer to the same object,
then the source is modified.
The filtering kernel(the operation range for each pixel) is a
rectangle of width 2*radiusX+1 and height radiusY+1
- Specified by:
filter
in interface java.awt.image.RasterOp
- Parameters:
src
- the Raster to be filtereddest
- stores the filtered image. If null, a destination will
be created. src and dest can refer to the same Raster, in
which situation the src will be modified.
filter
public java.awt.image.BufferedImage filter(java.awt.image.BufferedImage src,
java.awt.image.BufferedImage dest)
- This implementation of filter does the morphology operation
on a premultiplied alpha image. This tends to muddy the
colors. so something that is supposed to be a mostly
transparent bright red may well become a muddy opaque red.
Where as I think it should become a bright opaque red. Which
is the result you would get if you were using unpremult data.
- Specified by:
filter
in interface java.awt.image.BufferedImageOp
Copyright © 2002 Apache Software Foundation. All Rights Reserved.