| JavaTM 2 Platform Std. Ed. v1.6.0
java.awt.image
Class ImageFilter
java.lang.Object
java.awt.image.ImageFilter
- All Implemented Interfaces:
- ImageConsumer, Cloneable
- Direct Known Subclasses:
- BufferedImageFilter, CropImageFilter, ReplicateScaleFilter, RGBImageFilter
public class ImageFilter - extends Object
- implements ImageConsumer, Cloneable
This class implements a filter for the set of interface methods that
are used to deliver data from an ImageProducer to an ImageConsumer.
It is meant to be used in conjunction with a FilteredImageSource
object to produce filtered versions of existing images. It is a
base class that provides the calls needed to implement a "Null filter"
which has no effect on the data being passed through. Filters should
subclass this class and override the methods which deal with the
data that needs to be filtered and modify it as necessary.
- See Also:
FilteredImageSource,
ImageConsumer
|
Field Summary |
protected ImageConsumer |
consumer
The consumer of the particular image data stream for which this
instance of the ImageFilter is filtering data. |
|
Method Summary |
Object |
clone()
Clones this object. |
ImageFilter |
getFilterInstance(ImageConsumer ic)
Returns a unique instance of an ImageFilter object which will
actually perform the filtering for the specified ImageConsumer. |
void |
imageComplete(int status)
Filters the information provided in the imageComplete method of
the ImageConsumer interface. |
void |
resendTopDownLeftRight(ImageProducer ip)
Responds to a request for a TopDownLeftRight (TDLR) ordered resend
of the pixel data from an ImageConsumer. |
void |
setColorModel(ColorModel model)
Filter the information provided in the setColorModel method
of the ImageConsumer interface. |
void |
setDimensions(int width,
int height)
Filters the information provided in the setDimensions method
of the ImageConsumer interface. |
void |
setHints(int hints)
Filters the information provided in the setHints method
of the ImageConsumer interface. |
void |
setPixels(int x,
int y,
int w,
int h,
ColorModel model,
byte[] pixels,
int off,
int scansize)
Filters the information provided in the setPixels method of the
ImageConsumer interface which takes an array of bytes. |
void |
setPixels(int x,
int y,
int w,
int h,
ColorModel model,
int[] pixels,
int off,
int scansize)
Filters the information provided in the setPixels method of the
ImageConsumer interface which takes an array of integers. |
void |
setProperties(Hashtable<?,?> props)
Passes the properties from the source object along after adding a
property indicating the stream of filters it has been run through. |
consumer
protected ImageConsumer consumer
- The consumer of the particular image data stream for which this
instance of the ImageFilter is filtering data. It is not
initialized during the constructor, but rather during the
getFilterInstance() method call when the FilteredImageSource
is creating a unique instance of this object for a particular
image data stream.
- See Also:
getFilterInstance(java.awt.image.ImageConsumer),
ImageConsumer
ImageFilter
public ImageFilter()
getFilterInstance
public ImageFilter getFilterInstance(ImageConsumer ic)
- Returns a unique instance of an ImageFilter object which will
actually perform the filtering for the specified ImageConsumer.
The default implementation just clones this object.
Note: This method is intended to be called by the ImageProducer
of the Image whose pixels are being filtered. Developers using
this class to filter pixels from an image should avoid calling
this method directly since that operation could interfere
with the filtering operation.
- Parameters:
ic - the specified ImageConsumer
- Returns:
- an
ImageFilter used to perform the
filtering for the specified ImageConsumer.
setDimensions
public void setDimensions(int width,
int height)
- Filters the information provided in the setDimensions method
of the ImageConsumer interface.
Note: This method is intended to be called by the ImageProducer
of the Image whose pixels are being filtered. Developers using
this class to filter pixels from an image should avoid calling
this method directly since that operation could interfere
with the filtering operation.
- Specified by:
setDimensions in interface ImageConsumer
- Parameters:
width - the width of the source imageheight - the height of the source image- See Also:
ImageConsumer.setDimensions(int, int)
setProperties
public void setProperties(Hashtable<?,?> props)
- Passes the properties from the source object along after adding a
property indicating the stream of filters it has been run through.
Note: This method is intended to be called by the ImageProducer
of the Image whose pixels are being filtered. Developers using
this class to filter pixels from an image should avoid calling
this method directly since that operation could interfere
with the filtering operation.
- Specified by:
setProperties in interface ImageConsumer
- Parameters:
props - the properties from the source object
- Throws:
NullPointerException - if props is null
setColorModel
public void setColorModel(ColorModel model)
- Filter the information provided in the setColorModel method
of the ImageConsumer interface.
Note: This method is intended to be called by the ImageProducer
of the Image whose pixels are being filtered. Developers using
this class to filter pixels from an image should avoid calling
this method directly since that operation could interfere
with the filtering operation.
- Specified by:
setColorModel in interface ImageConsumer
- Parameters:
model - the specified ColorModel- See Also:
ImageConsumer.setColorModel(java.awt.image.ColorModel)
setHints
public void setHints(int hints)
- Filters the information provided in the setHints method
of the ImageConsumer interface.
Note: This method is intended to be called by the ImageProducer
of the Image whose pixels are being filtered. Developers using
this class to filter pixels from an image should avoid calling
this method directly since that operation could interfere
with the filtering operation.
- Specified by:
setHints in interface ImageConsumer
- Parameters:
hints - a set of hints that the ImageConsumer uses to
process the pixels- See Also:
ImageConsumer.setHints(int)
setPixels
public void setPixels(int x,
int y,
int w,
int h,
ColorModel model,
byte[] pixels,
int off,
int scansize)
- Filters the information provided in the setPixels method of the
ImageConsumer interface which takes an array of bytes.
Note: This method is intended to be called by the ImageProducer
of the Image whose pixels are being filtered. Developers using
this class to filter pixels from an image should avoid calling
this method directly since that operation could interfere
with the filtering operation.
- Specified by:
setPixels in interface ImageConsumer
- Parameters:
x - the X coordinate of the upper-left corner of the
area of pixels to be sety - the Y coordinate of the upper-left corner of the
area of pixels to be setw - the width of the area of pixelsh - the height of the area of pixelsmodel - the specified ColorModelpixels - the array of pixelsoff - the offset into the pixels arrayscansize - the distance from one row of pixels to the next in
the pixels array- See Also:
ImageConsumer.setPixels(int, int, int, int, java.awt.image.ColorModel, byte[], int, int)
setPixels
public void setPixels(int x,
int y,
int w,
int h,
ColorModel model,
int[] pixels,
int off,
int scansize)
- Filters the information provided in the setPixels method of the
ImageConsumer interface which takes an array of integers.
Note: This method is intended to be called by the ImageProducer
of the Image whose pixels are being filtered. Developers using
this class to filter pixels from an image should avoid calling
this method directly since that operation could interfere
with the filtering operation.
- Specified by:
setPixels in interface ImageConsumer
- Parameters:
x - the X coordinate of the upper-left corner of the
area of pixels to be sety - the Y coordinate of the upper-left corner of the
area of pixels to be setw - the width of the area of pixelsh - the height of the area of pixelsmodel - the specified ColorModelpixels - the array of pixelsoff - the offset into the pixels arrayscansize - the distance from one row of pixels to the next in
the pixels array- See Also:
ImageConsumer.setPixels(int, int, int, int, java.awt.image.ColorModel, byte[], int, int)
imageComplete
public void imageComplete(int status)
- Filters the information provided in the imageComplete method of
the ImageConsumer interface.
Note: This method is intended to be called by the ImageProducer
of the Image whose pixels are being filtered. Developers using
this class to filter pixels from an image should avoid calling
this method directly since that operation could interfere
with the filtering operation.
- Specified by:
imageComplete in interface ImageConsumer
- Parameters:
status - the status of image loading- See Also:
ImageConsumer.imageComplete(int)
resendTopDownLeftRight
public void resendTopDownLeftRight(ImageProducer ip)
- Responds to a request for a TopDownLeftRight (TDLR) ordered resend
of the pixel data from an
ImageConsumer.
When an ImageConsumer being fed
by an instance of this ImageFilter
requests a resend of the data in TDLR order,
the FilteredImageSource
invokes this method of the ImageFilter.
An ImageFilter subclass might override this method or not,
depending on if and how it can send data in TDLR order.
Three possibilities exist:
-
Do not override this method.
This makes the subclass use the default implementation,
which is to
forward the request
to the indicated
ImageProducer
using this filter as the requesting ImageConsumer.
This behavior
is appropriate if the filter can determine
that it will forward the pixels
in TDLR order if its upstream producer object
sends them in TDLR order.
-
Override the method to simply send the data.
This is appropriate if the filter can handle the request itself
for example,
if the generated pixels have been saved in some sort of buffer.
-
Override the method to do nothing.
This is appropriate
if the filter cannot produce filtered data in TDLR order.
- Parameters:
ip - the ImageProducer that is feeding this instance of
the filter - also the ImageProducer that the request should be
forwarded to if necessary
- Throws:
NullPointerException - if ip is null- See Also:
ImageProducer.requestTopDownLeftRightResend(java.awt.image.ImageConsumer)
clone
public Object clone()
- Clones this object.
- Overrides:
clone in class Object
- Returns:
- a clone of this instance.
- See Also:
Cloneable
Copyright 2003 Sun Microsystems, Inc. All rights reserved
|