Overview | Package | Class | Use | Tree | Deprecated | Index | Help
| Java™ Platform Standard Ed. 6
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

## 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
`FilteredImageSource(ImageProducer orig, ImageFilter imgf)` Constructs an ImageProducer object from an existing ImageProducer and a filter object.

Method Summary
`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`

Overview | Package | Class | Use | Tree | Deprecated | Index | Help
| Java™ Platform Standard Ed. 6
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

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.