Module java.desktop
Package java.awt.image

# Interface MultiResolutionImage

All Known Implementing Classes:
  `AbstractMultiResolutionImage`, `BaseMultiResolutionImage`

public interface MultiResolutionImage
This interface is designed to be an optional additional API supported by some implementations of `Image` to allow them to provide alternate images for various rendering resolutions. The various `Graphics.drawImage(...)` variant methods will consult the methods of this interface if it is implemented on the argument `Image` object in order to choose the best representation to use for each rendering operation.

The `MultiResolutionImage` interface should be implemented by any subclass of `java.awt.Image` whose instances are intended to provide image resolution variants according to the given image width and height. For convenience, toolkit images obtained from `Toolkit.getImage(String name)` and `Toolkit.getImage(URL url)` will implement this interface on platforms that support naming conventions for resolution variants of stored image media and the `AbstractMultiResolutionImage` and `BaseMultiResolutionImage` classes are provided to facilitate easy construction of custom multi-resolution images from a list of related images.

Since:
  9
See Also:
  - `Image`
  - `AbstractMultiResolutionImage`
  - `BaseMultiResolutionImage`
  - `Toolkit.getImage(java.lang.String filename)`
  - `Toolkit.getImage(java.net.URL url)`

- ## Method Summary

  Modifier and Type
  Method
  Description
  `Image`
  `getResolutionVariant(double destImageWidth, double destImageHeight)`
  Gets a specific image that is the best variant to represent this logical image at the indicated size.
  `List<Image>`
  `getResolutionVariants()`
  Gets a readable list of all resolution variants.

- ## Method Details

  - ### getResolutionVariant

    Image getResolutionVariant(double destImageWidth, double destImageHeight)
    Gets a specific image that is the best variant to represent this logical image at the indicated size.
    Parameters:
      `destImageWidth` - the width of the destination image, in pixels.
      `destImageHeight` - the height of the destination image, in pixels.
    Returns:
      image resolution variant.
    Throws:
      `IllegalArgumentException` - if `destImageWidth` or `destImageHeight` is less than or equal to zero, infinity, or NaN.
    Since:
      9

  - ### getResolutionVariants

    List<Image> getResolutionVariants()
    Gets a readable list of all resolution variants. The list must be nonempty and contain at least one resolution variant.

    Note that many implementations might return an unmodifiable list.

    Returns:
      list of resolution variants.
    Since:
      9