ImageProducerpublic class FilteredImageSource extends Object implements ImageProducer
FilteredImageSource is safe for use by multiple threads. Here is an example which filters an image by swapping the red and blue components: 
      Image src = getImage("doc:///demo/images/duke/T1.gif");
      ImageFilter colorfilter = new RedBlueSwapFilter();
      Image img = createImage(new FilteredImageSource(src.getSource(),
                                                      colorfilter));
 
| Constructor | Description | 
|---|---|
| FilteredImageSource | Constructs an ImageProducer object from an existing ImageProducer and a filter object. | 
| Modifier and Type | Method | Description | 
|---|---|---|
| void | addConsumer | Adds the specified  ImageConsumerto the list of consumers interested in data for the filtered image. | 
| boolean | isConsumer | Determines whether an ImageConsumer is on the list of consumers currently interested in data for this image. | 
| void | removeConsumer | Removes an ImageConsumer from the list of consumers interested in data for this image. | 
| void | requestTopDownLeftRightResend | Requests that a given ImageConsumer have the image data delivered one more time in top-down, left-right order. | 
| void | startProduction | Starts production of the filtered image. | 
public FilteredImageSource(ImageProducer orig, ImageFilter imgf)
orig - the specified ImageProducer
imgf - the specified ImageFilter
public void addConsumer(ImageConsumer ic)
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.
addConsumer in interface ImageProducer
ic - the consumer for the filtered imagepublic boolean isConsumer(ImageConsumer ic)
 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.
isConsumer in interface ImageProducer
ic - the specified ImageConsumer
public void removeConsumer(ImageConsumer ic)
 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.
removeConsumer in interface ImageProducer
ic - the specified ImageConsumer
public void startProduction(ImageConsumer ic)
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.
startProduction in interface ImageProducer
ic - the consumer for the filtered imagepublic void requestTopDownLeftRightResend(ImageConsumer ic)
 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.
requestTopDownLeftRightResend in interface ImageProducer
ic - the specified ImageConsumer
    © 1993, 2023, 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.
    https://docs.oracle.com/en/java/javase/21/docs/api/java.desktop/java/awt/image/FilteredImageSource.html