# Interface PaintContext

public interface PaintContext
The `PaintContext` interface defines the encapsulated and optimized environment to generate color patterns in device space for fill or stroke operations on a `Graphics2D`. The `PaintContext` provides the necessary colors for `Graphics2D` operations in the form of a `Raster` associated with a `ColorModel`. The `PaintContext` maintains state for a particular paint operation. In a multi-threaded environment, several contexts can exist simultaneously for a single `Paint` object.

See Also:
  - `Paint`

- ## Method Summary

  Modifier and Type
  Method
  Description
  `void`
  `dispose()`
  Releases the resources allocated for the operation.
  `ColorModel`
  `getColorModel()`
  Returns the `ColorModel` of the output.
  `Raster`
  `getRaster(int x, int y, int w, int h)`
  Returns a `Raster` containing the colors generated for the graphics operation.

- ## Method Details

  - ### dispose

    void dispose()
    Releases the resources allocated for the operation.

  - ### getColorModel

    ColorModel getColorModel()
    Returns the `ColorModel` of the output. Note that this `ColorModel` might be different from the hint specified in the `createContext` method of `Paint`. Not all `PaintContext` objects are capable of generating color patterns in an arbitrary `ColorModel`.
    Returns:
      the `ColorModel` of the output.

  - ### getRaster

    Raster getRaster(int x, int y, int w, int h)
    Returns a `Raster` containing the colors generated for the graphics operation.
    Parameters:
      `x` - the x coordinate of the area in device space for which colors are generated.
      `y` - the y coordinate of the area in device space for which colors are generated.
      `w` - the width of the area in device space
      `h` - the height of the area in device space
    Returns:
      a `Raster` representing the specified rectangular area and containing the colors generated for the graphics operation.