Uses of Interface java.awt.image.ImageConsumer (Java Platform SE 8 )
Date: 2026-03-16

## Uses of Interface
java.awt.image.ImageConsumer

- Packages that use ImageConsumer
  Package | Description
  --- | ---
  java.awt.image | Provides classes for creating and modifying images.
  java.awt.image.renderable | Provides classes and interfaces for producing rendering-independent images.
  javax.swing | Provides a set of "lightweight" (all-Java language) components that, to the maximum degree possible, work the same on all platforms.

- - ### Uses of ImageConsumer in java.awt.image

    Classes in java.awt.image that implement ImageConsumer
    Modifier and Type | Class and Description
    --- | ---
    `class` | `AreaAveragingScaleFilter` An ImageFilter class for scaling images using a simple area averaging algorithm that produces smoother results than the nearest neighbor algorithm.
    `class` | `BufferedImageFilter` The `BufferedImageFilter` class subclasses an `ImageFilter` to provide a simple means of using a single-source/single-destination image operator (`BufferedImageOp`) to filter a `BufferedImage` in the Image Producer/Consumer/Observer paradigm.
    `class` | `CropImageFilter` An ImageFilter class for cropping images.
    `class` | `ImageFilter` This class implements a filter for the set of interface methods that are used to deliver data from an ImageProducer to an ImageConsumer.
    `class` | `PixelGrabber` The PixelGrabber class implements an ImageConsumer which can be attached to an Image or ImageProducer object to retrieve a subset of the pixels in that image.
    `class` | `ReplicateScaleFilter` An ImageFilter class for scaling images using the simplest algorithm.
    `class` | `RGBImageFilter` This class provides an easy way to create an ImageFilter which modifies the pixels of an image in the default RGB ColorModel.

    Fields in java.awt.image declared as ImageConsumer
    Modifier and Type | Field and Description
    --- | ---
    `protected ImageConsumer` | ImageFilter.`consumer` The consumer of the particular image data stream for which this instance of the ImageFilter is filtering data.

    Methods in java.awt.image with parameters of type ImageConsumer
    Modifier and Type | Method and Description
    --- | ---
    `void` | ImageProducer.`addConsumer(ImageConsumer ic)` Registers an `ImageConsumer` with the `ImageProducer` for access to the image data during a later reconstruction of the `Image`.
    `void` | MemoryImageSource.`addConsumer(ImageConsumer ic)` Adds an ImageConsumer to the list of consumers interested in data for this image.
    `void` | FilteredImageSource.`addConsumer(ImageConsumer ic)` Adds the specified `ImageConsumer` to the list of consumers interested in data for the filtered image.
    `ImageFilter` | ImageFilter.`getFilterInstance(ImageConsumer ic)` Returns a unique instance of an ImageFilter object which will actually perform the filtering for the specified ImageConsumer.
    `boolean` | ImageProducer.`isConsumer(ImageConsumer ic)` Determines if a specified `ImageConsumer` object is currently registered with this `ImageProducer` as one of its consumers.
    `boolean` | MemoryImageSource.`isConsumer(ImageConsumer ic)` Determines if an ImageConsumer is on the list of consumers currently interested in data for this image.
    `boolean` | FilteredImageSource.`isConsumer(ImageConsumer ic)` Determines whether an ImageConsumer is on the list of consumers currently interested in data for this image.
    `void` | ImageProducer.`removeConsumer(ImageConsumer ic)` Removes the specified `ImageConsumer` object from the list of consumers currently registered to receive image data.
    `void` | MemoryImageSource.`removeConsumer(ImageConsumer ic)` Removes an ImageConsumer from the list of consumers interested in data for this image.
    `void` | FilteredImageSource.`removeConsumer(ImageConsumer ic)` Removes an ImageConsumer from the list of consumers interested in data for this image.
    `void` | ImageProducer.`requestTopDownLeftRightResend(ImageConsumer ic)` Requests, on behalf of the `ImageConsumer`, that the `ImageProducer` attempt to resend the image data one more time in TOPDOWNLEFTRIGHT order so that higher quality conversion algorithms which depend on receiving pixels in order can be used to produce a better output version of the image.
    `void` | MemoryImageSource.`requestTopDownLeftRightResend(ImageConsumer ic)` Requests that a given ImageConsumer have the image data delivered one more time in top-down, left-right order.
    `void` | FilteredImageSource.`requestTopDownLeftRightResend(ImageConsumer ic)` Requests that a given ImageConsumer have the image data delivered one more time in top-down, left-right order.
    `void` | ImageProducer.`startProduction(ImageConsumer ic)` Registers the specified `ImageConsumer` object as a consumer and starts an immediate reconstruction of the image data which will then be delivered to this consumer and any other consumer which might have already been registered with the producer.
    `void` | MemoryImageSource.`startProduction(ImageConsumer ic)` Adds an ImageConsumer to the list of consumers interested in data for this image and immediately starts delivery of the image data through the ImageConsumer interface.
    `void` | FilteredImageSource.`startProduction(ImageConsumer ic)` Starts production of the filtered image.

  - ### Uses of ImageConsumer in java.awt.image.renderable

    Methods in java.awt.image.renderable with parameters of type ImageConsumer
    Modifier and Type | Method and Description
    --- | ---
    `void` | RenderableImageProducer.`addConsumer(ImageConsumer ic)` Adds an ImageConsumer to the list of consumers interested in data for this image.
    `boolean` | RenderableImageProducer.`isConsumer(ImageConsumer ic)` Determine if an ImageConsumer is on the list of consumers currently interested in data for this image.
    `void` | RenderableImageProducer.`removeConsumer(ImageConsumer ic)` Remove an ImageConsumer from the list of consumers interested in data for this image.
    `void` | RenderableImageProducer.`requestTopDownLeftRightResend(ImageConsumer ic)` Requests that a given ImageConsumer have the image data delivered one more time in top-down, left-right order.
    `void` | RenderableImageProducer.`startProduction(ImageConsumer ic)` Adds an ImageConsumer to the list of consumers interested in data for this image, and immediately starts delivery of the image data through the ImageConsumer interface.

  - ### Uses of ImageConsumer in javax.swing

    Classes in javax.swing that implement ImageConsumer
    Modifier and Type | Class and Description
    --- | ---
    `class` | `GrayFilter` An image filter that "disables" an image by turning it into a grayscale image, and brightening the pixels in the image.

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, 2026, Oracle and/or its affiliates. All rights reserved. Use is subject to license terms. Also see the documentation redistribution policy.