java.awt.image (Java Platform SE 8 )
Keywords: java.awt.image package
Date: 2026-03-29

# Package java.awt.image

Provides classes for creating and modifying images.

See: Description

- Interface Summary
  Interface | Description
  --- | ---
  BufferedImageOp | This interface describes single-input/single-output operations performed on `BufferedImage` objects.
  ImageConsumer | The interface for objects expressing interest in image data through the ImageProducer interfaces.
  ImageObserver | An asynchronous update interface for receiving notifications about Image information as the Image is constructed.
  ImageProducer | The interface for objects which can produce the image data for Images.
  RasterOp | This interface describes single-input/single-output operations performed on Raster objects.
  RenderedImage | RenderedImage is a common interface for objects which contain or can produce image data in the form of Rasters.
  TileObserver | An interface for objects that wish to be informed when tiles of a WritableRenderedImage become modifiable by some writer via a call to getWritableTile, and when they become unmodifiable via the last call to releaseWritableTile.
  WritableRenderedImage | WriteableRenderedImage is a common interface for objects which contain or can produce image data in the form of Rasters and which can be modified and/or written over.

- Class Summary
  Class | Description
  --- | ---
  AffineTransformOp | This class uses an affine transform to perform a linear mapping from 2D coordinates in the source image or `Raster` to 2D coordinates in the destination image or `Raster`.
  AreaAveragingScaleFilter | An ImageFilter class for scaling images using a simple area averaging algorithm that produces smoother results than the nearest neighbor algorithm.
  BandCombineOp | This class performs an arbitrary linear combination of the bands in a `Raster`, using a specified matrix.
  BandedSampleModel | This class represents image data which is stored in a band interleaved fashion and for which each sample of a pixel occupies one data element of the DataBuffer.
  BufferedImage | The `BufferedImage` subclass describes an `Image` with an accessible buffer of image data.
  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.
  BufferStrategy | The `BufferStrategy` class represents the mechanism with which to organize complex memory on a particular `Canvas` or `Window`.
  ByteLookupTable | This class defines a lookup table object.
  ColorConvertOp | This class performs a pixel-by-pixel color conversion of the data in the source image.
  ColorModel | The `ColorModel` abstract class encapsulates the methods for translating a pixel value to color components (for example, red, green, and blue) and an alpha component.
  ComponentColorModel | A `ColorModel` class that works with pixel values that represent color and alpha information as separate samples and that store each sample in a separate data element.
  ComponentSampleModel | This class represents image data which is stored such that each sample of a pixel occupies one data element of the DataBuffer.
  ConvolveOp | This class implements a convolution from the source to the destination.
  CropImageFilter | An ImageFilter class for cropping images.
  DataBuffer | This class exists to wrap one or more data arrays.
  DataBufferByte | This class extends `DataBuffer` and stores data internally as bytes.
  DataBufferDouble | This class extends `DataBuffer` and stores data internally in `double` form.
  DataBufferFloat | This class extends `DataBuffer` and stores data internally in `float` form.
  DataBufferInt | This class extends `DataBuffer` and stores data internally as integers.
  DataBufferShort | This class extends `DataBuffer` and stores data internally as shorts.
  DataBufferUShort | This class extends `DataBuffer` and stores data internally as shorts.
  DirectColorModel | The `DirectColorModel` class is a `ColorModel` class that works with pixel values that represent RGB color and alpha information as separate samples and that pack all samples for a single pixel into a single int, short, or byte quantity.
  FilteredImageSource | 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.
  ImageFilter | This class implements a filter for the set of interface methods that are used to deliver data from an ImageProducer to an ImageConsumer.
  IndexColorModel | The `IndexColorModel` class is a `ColorModel` class that works with pixel values consisting of a single sample that is an index into a fixed colormap in the default sRGB color space.
  Kernel | The `Kernel` class defines a matrix that describes how a specified pixel and its surrounding pixels affect the value computed for the pixel's position in the output image of a filtering operation.
  LookupOp | This class implements a lookup operation from the source to the destination.
  LookupTable | This abstract class defines a lookup table object.
  MemoryImageSource | This class is an implementation of the ImageProducer interface which uses an array to produce pixel values for an Image.
  MultiPixelPackedSampleModel | The `MultiPixelPackedSampleModel` class represents one-banded images and can pack multiple one-sample pixels into one data element.
  PackedColorModel | The `PackedColorModel` class is an abstract `ColorModel` class that works with pixel values which represent color and alpha information as separate samples and which pack all samples for a single pixel into a single int, short, or byte quantity.
  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.
  PixelInterleavedSampleModel | This class represents image data which is stored in a pixel interleaved fashion and for which each sample of a pixel occupies one data element of the DataBuffer.
  Raster | A class representing a rectangular array of pixels.
  ReplicateScaleFilter | An ImageFilter class for scaling images using the simplest algorithm.
  RescaleOp | This class performs a pixel-by-pixel rescaling of the data in the source image by multiplying the sample values for each pixel by a scale factor and then adding an offset.
  RGBImageFilter | This class provides an easy way to create an ImageFilter which modifies the pixels of an image in the default RGB ColorModel.
  SampleModel | This abstract class defines an interface for extracting samples of pixels in an image.
  ShortLookupTable | This class defines a lookup table object.
  SinglePixelPackedSampleModel | This class represents pixel data packed such that the N samples which make up a single pixel are stored in a single data array element, and each data data array element holds samples for only one pixel.
  VolatileImage | VolatileImage is an image which can lose its contents at any time due to circumstances beyond the control of the application (e.g., situations caused by the operating system or by other applications).
  WritableRaster | This class extends Raster to provide pixel writing capabilities.

- Exception Summary
  Exception | Description
  --- | ---
  ImagingOpException | The `ImagingOpException` is thrown if one of the `BufferedImageOp` or `RasterOp` filter methods cannot process the image.
  RasterFormatException | The `RasterFormatException` is thrown if there is invalid layout information in the `Raster`.

## Package java.awt.image Description

Provides classes for creating and modifying images. Images are processed using a streaming framework that involves an image producer, optional image filters, and an image consumer. This framework makes it possible to progressively render an image while it is being fetched and generated. Moreover, the framework allows an application to discard the storage used by an image and to regenerate it at any time. This package provides a number of image producers, consumers, and filters that you can configure for your image processing needs.

Since:
  JDK1.0

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.