java.awt.image

## Class FilteredImageSource

- java.lang.Object
- - java.awt.image.FilteredImageSource

- All Implemented Interfaces:
    ImageProducer

      public class FilteredImageSource
      extends Object
      implements ImageProducer

  This class is an implementation of the ImageProducer interface which takes an existing image and a filter object and uses them to produce image data for a new filtered version of the original image. Here is an example which filters an image by swapping the red and blue compents:

            Image src = getImage("doc:///demo/images/duke/T1.gif");
            ImageFilter colorfilter = new RedBlueSwapFilter();
            Image img = createImage(new FilteredImageSource(src.getSource(),
                                                            colorfilter));

  See Also:
    `ImageProducer`

- - ### Constructor Summary

    Constructors
    Constructor and Description
    `FilteredImageSource(ImageProducer orig, ImageFilter imgf)` Constructs an ImageProducer object from an existing ImageProducer and a filter object.

  - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `void` | `addConsumer(ImageConsumer ic)` Adds the specified `ImageConsumer` to the list of consumers interested in data for the filtered image.
    `boolean` | `isConsumer(ImageConsumer ic)` Determines whether an ImageConsumer is on the list of consumers currently interested in data for this image.
    `void` | `removeConsumer(ImageConsumer ic)` Removes an ImageConsumer from the list of consumers interested in data for this image.
    `void` | `requestTopDownLeftRightResend(ImageConsumer ic)` Requests that a given ImageConsumer have the image data delivered one more time in top-down, left-right order.
    `void` | `startProduction(ImageConsumer ic)` Starts production of the filtered image.

    - ### Methods inherited from class java.lang.Object

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- - ### Constructor Detail

    - #### FilteredImageSource

          public FilteredImageSource(ImageProducer orig,
                             ImageFilter imgf)

      Constructs an ImageProducer object from an existing ImageProducer and a filter object.
      Parameters:
        `orig` - the specified `ImageProducer`
        `imgf` - the specified `ImageFilter`
      See Also:
        `ImageFilter`, `Component.createImage(java.awt.image.ImageProducer)`

  - ### Method Detail

    - #### addConsumer

          public void addConsumer(ImageConsumer ic)

      Adds the specified `ImageConsumer` to the list of consumers interested in data for the filtered image. An instance of the original `ImageFilter` is created (using the filter's `getFilterInstance` method) to manipulate the image data for the specified `ImageConsumer`. The newly created filter instance is then passed to the `addConsumer` method of the original `ImageProducer`.

      This method is public as a side effect of this class implementing the `ImageProducer` interface. It should not be called from user code, and its behavior if called from user code is unspecified.

      Specified by:
        `addConsumer` in interface `ImageProducer`
      Parameters:
        `ic` - the consumer for the filtered image
      See Also:
        `ImageConsumer`

    - #### isConsumer

          public boolean isConsumer(ImageConsumer ic)

      Determines whether an ImageConsumer is on the list of consumers currently interested in data for this image.

      This method is public as a side effect of this class implementing the `ImageProducer` interface. It should not be called from user code, and its behavior if called from user code is unspecified.

      Specified by:
        `isConsumer` in interface `ImageProducer`
      Parameters:
        `ic` - the specified `ImageConsumer`
      Returns:
        true if the ImageConsumer is on the list; false otherwise
      See Also:
        `ImageConsumer`

    - #### removeConsumer

          public void removeConsumer(ImageConsumer ic)

      Removes an ImageConsumer from the list of consumers interested in data for this image.

      This method is public as a side effect of this class implementing the `ImageProducer` interface. It should not be called from user code, and its behavior if called from user code is unspecified.

      Specified by:
        `removeConsumer` in interface `ImageProducer`
      Parameters:
        `ic` - the specified `ImageConsumer`
      See Also:
        `ImageConsumer`

    - #### startProduction

          public void startProduction(ImageConsumer ic)

      Starts production of the filtered image. If the specified `ImageConsumer` isn't already a consumer of the filtered image, an instance of the original `ImageFilter` is created (using the filter's `getFilterInstance` method) to manipulate the image data for the `ImageConsumer`. The filter instance for the `ImageConsumer` is then passed to the `startProduction` method of the original `ImageProducer`.

      This method is public as a side effect of this class implementing the `ImageProducer` interface. It should not be called from user code, and its behavior if called from user code is unspecified.

      Specified by:
        `startProduction` in interface `ImageProducer`
      Parameters:
        `ic` - the consumer for the filtered image
      See Also:
        `ImageConsumer`

    - #### requestTopDownLeftRightResend

          public void requestTopDownLeftRightResend(ImageConsumer ic)

      Requests that a given ImageConsumer have the image data delivered one more time in top-down, left-right order. The request is handed to the ImageFilter for further processing, since the ability to preserve the pixel ordering depends on the filter.

      This method is public as a side effect of this class implementing the `ImageProducer` interface. It should not be called from user code, and its behavior if called from user code is unspecified.

      Specified by:
        `requestTopDownLeftRightResend` in interface `ImageProducer`
      Parameters:
        `ic` - the specified `ImageConsumer`
      See Also:
        `ImageConsumer`

Submit a bug or feature
For further API reference and developer documentation, see Java SE Documentation. That documentation contains more detailed, developer-targeted descriptions, with conceptual overviews, definitions of terms, workarounds, and working code examples.
Copyright © 1993, 2017, Oracle and/or its affiliates. All rights reserved.