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.
FilteredImageSource
, ImageConsumer
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.
public ImageFilter()
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.
ic
- the specified ImageConsumer
ImageFilter
used to perform the filtering for the specified ImageConsumer
.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.
setDimensions
in interface ImageConsumer
width
- the width of the source imageheight
- the height of the source imageImageConsumer.setDimensions(int, int)
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.
setProperties
in interface ImageConsumer
props
- the properties from the source objectNullPointerException
- if props
is nullpublic 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.
setColorModel
in interface ImageConsumer
model
- the specified ColorModel
ImageConsumer.setColorModel(java.awt.image.ColorModel)
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.
setHints
in interface ImageConsumer
hints
- a set of hints that the ImageConsumer uses to process the pixelsImageConsumer.setHints(int)
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.
setPixels
in interface ImageConsumer
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 ColorModel
pixels
- the array of pixelsoff
- the offset into the pixels
arrayscansize
- the distance from one row of pixels to the next in the pixels
arrayImageConsumer.setPixels(int, int, int, int, java.awt.image.ColorModel, byte[], int, int)
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.
setPixels
in interface ImageConsumer
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 ColorModel
pixels
- the array of pixelsoff
- the offset into the pixels
arrayscansize
- the distance from one row of pixels to the next in the pixels
arrayImageConsumer.setPixels(int, int, int, int, java.awt.image.ColorModel, byte[], int, int)
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.
imageComplete
in interface ImageConsumer
status
- the status of image loadingImageConsumer.imageComplete(int)
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:
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. ip
- the ImageProducer that is feeding this instance of the filter - also the ImageProducer that the request should be forwarded to if necessaryNullPointerException
- if ip
is nullImageProducer.requestTopDownLeftRightResend(java.awt.image.ImageConsumer)
public Object clone()
Clones this object.
© 1993–2017, Oracle and/or its affiliates. All rights reserved.
Documentation extracted from Debian's OpenJDK Development Kit package.
Licensed under the GNU General Public License, version 2, with the Classpath Exception.
Various third party code in OpenJDK is licensed under different licenses (see Debian package).
Java and OpenJDK are trademarks or registered trademarks of Oracle and/or its affiliates.