java.awt.image

Class 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 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:

        • 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

Document created the 11/06/2005, last modified the 04/03/2020
Source of the printed document:https://www.gaudry.be/en/java-api-rf-java/awt/image/ImageFilter.html

The infobrol is a personal site whose content is my sole responsibility. The text is available under CreativeCommons license (BY-NC-SA). More info on the terms of use and the author.

References

  1. View the html document Language of the document:fr Manuel PHP : https://docs.oracle.com

These references and links indicate documents consulted during the writing of this page, or which may provide additional information, but the authors of these sources can not be held responsible for the content of this page.
The author This site is solely responsible for the way in which the various concepts, and the freedoms that are taken with the reference works, are presented here. Remember that you must cross multiple source information to reduce the risk of errors.

Contents Haut