Java™ Platform
Standard Ed. 6

java.awt.image
Class ImageFilter

java.lang.Object
  extended by 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.
 
Fields inherited from interface java.awt.image.ImageConsumer
COMPLETESCANLINES, IMAGEABORTED, IMAGEERROR, RANDOMPIXELORDER, SINGLEFRAME, SINGLEFRAMEDONE, SINGLEPASS, STATICIMAGEDONE, TOPDOWNLEFTRIGHT
 
Constructor Summary
ImageFilter()
           
 
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.
 
Methods inherited from class java.lang.Object
equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

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

ImageFilter

public ImageFilter()
Method Detail

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 image
height - 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 set
y - the Y coordinate of the upper-left corner of the area of pixels to be set
w - the width of the area of pixels
h - the height of the area of pixels
model - the specified ColorModel
pixels - the array of pixels
off - the offset into the pixels array
scansize - 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 set
y - the Y coordinate of the upper-left corner of the area of pixels to be set
w - the width of the area of pixels
h - the height of the area of pixels
model - the specified ColorModel
pixels - the array of pixels
off - the offset into the pixels array
scansize - 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:

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

Java™ Platform
Standard Ed. 6

Submit a bug or feature
For further API reference and developer documentation, see Java SE Developer Documentation. That documentation contains more detailed, developer-targeted descriptions, with conceptual overviews, definitions of terms, workarounds, and working code examples.

Copyright 2009 Sun Microsystems, Inc. All rights reserved. Use is subject to license terms. Also see the documentation redistribution policy.