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 Detail

    - #### 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