- All Implemented Interfaces:
ImageConsumer,Cloneable
- Direct Known Subclasses:
BufferedImageFilter,CropImageFilter,ReplicateScaleFilter,RGBImageFilter
public class ImageFilter extends Object implements ImageConsumer, Cloneable
- See Also:
FilteredImageSource,ImageConsumer
-
Field Summary
Fields Modifier and Type Field Description protected ImageConsumerconsumerThe consumer of the particular image data stream for which this instance of the ImageFilter is filtering data.Fields declared in interface java.awt.image.ImageConsumer
COMPLETESCANLINES, IMAGEABORTED, IMAGEERROR, RANDOMPIXELORDER, SINGLEFRAME, SINGLEFRAMEDONE, SINGLEPASS, STATICIMAGEDONE, TOPDOWNLEFTRIGHT -
Constructor Summary
Constructors Constructor Description ImageFilter() -
Method Summary
Modifier and Type Method Description Objectclone()Clones this object.ImageFiltergetFilterInstance(ImageConsumer ic)Returns a unique instance of an ImageFilter object which will actually perform the filtering for the specified ImageConsumer.voidimageComplete(int status)Filters the information provided in the imageComplete method of the ImageConsumer interface.voidresendTopDownLeftRight(ImageProducer ip)Responds to a request for a TopDownLeftRight (TDLR) ordered resend of the pixel data from anImageConsumer.voidsetColorModel(ColorModel model)Filter the information provided in the setColorModel method of the ImageConsumer interface.voidsetDimensions(int width, int height)Filters the information provided in the setDimensions method of the ImageConsumer interface.voidsetHints(int hints)Filters the information provided in the setHints method of the ImageConsumer interface.voidsetPixels(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.voidsetPixels(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.voidsetProperties(Hashtable<?,?> props)Passes the properties from the source object along after adding a property indicating the stream of filters it has been run through.
-
Field Details
-
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.
-
-
Constructor Details
-
ImageFilter
public ImageFilter()
-
-
Method Details
-
getFilterInstance
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 specifiedImageConsumer- Returns:
- an
ImageFilterused to perform the filtering for the specifiedImageConsumer.
-
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:
setDimensionsin interfaceImageConsumer- Parameters:
width- the width of the source imageheight- the height of the source image- See Also:
ImageConsumer.setDimensions(int, int)
-
setProperties
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:
setPropertiesin interfaceImageConsumer- Parameters:
props- the properties from the source object- Throws:
NullPointerException- ifpropsis null
-
setColorModel
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:
setColorModelin interfaceImageConsumer- Parameters:
model- the specifiedColorModel- 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:
setHintsin interfaceImageConsumer- 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:
setPixelsin interfaceImageConsumer- 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 specifiedColorModelpixels- the array of pixelsoff- the offset into thepixelsarrayscansize- the distance from one row of pixels to the next in thepixelsarray- 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:
setPixelsin interfaceImageConsumer- 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 specifiedColorModelpixels- the array of pixelsoff- the offset into thepixelsarrayscansize- the distance from one row of pixels to the next in thepixelsarray- 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:
imageCompletein interfaceImageConsumer- Parameters:
status- the status of image loading- See Also:
ImageConsumer.imageComplete(int)
-
resendTopDownLeftRight
Responds to a request for a TopDownLeftRight (TDLR) ordered resend of the pixel data from anImageConsumer. When anImageConsumerbeing fed by an instance of thisImageFilterrequests a resend of the data in TDLR order, theFilteredImageSourceinvokes this method of theImageFilter.An
ImageFiltersubclass 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
ImageProducerusing this filter as the requestingImageConsumer. 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- ifipis null- See Also:
ImageProducer.requestTopDownLeftRightResend(java.awt.image.ImageConsumer)
-
Do not override this method.
This makes the subclass use the default implementation,
which is to
forward the request
to the indicated
-
clone
Clones this object.
-