- java.lang.Object
-
- java.awt.Image
-
- java.awt.image.AbstractMultiResolutionImage
-
- java.awt.image.BaseMultiResolutionImage
-
- All Implemented Interfaces:
MultiResolutionImage
public class BaseMultiResolutionImage extends AbstractMultiResolutionImage
This class is an array-based implementation of theAbstractMultiResolutionImage
class. This class will implement thegetResolutionVariant(double destImageWidth, double destImageHeight)
method using a simple algorithm which will return the first image variant in the array that is large enough to satisfy the rendering request. The last image in the array will be returned if no suitable image is found that is as large as the rendering request.For best effect the array of images should be sorted with each image being both wider and taller than the previous image. The base image need not be the first image in the array. No exception will be thrown if the images are not sorted as suggested.
- Since:
- 9
- See Also:
Image
,MultiResolutionImage
,AbstractMultiResolutionImage
-
-
Field Summary
-
Fields inherited from class java.awt.Image
accelerationPriority, SCALE_AREA_AVERAGING, SCALE_DEFAULT, SCALE_FAST, SCALE_REPLICATE, SCALE_SMOOTH, UndefinedProperty
-
-
Constructor Summary
Constructors Constructor Description BaseMultiResolutionImage(int baseImageIndex, Image... resolutionVariants)
Creates a multi-resolution image with the given base image index and resolution variants.BaseMultiResolutionImage(Image... resolutionVariants)
Creates a multi-resolution image with the given resolution variants.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description protected Image
getBaseImage()
Return the base image representing the best version of the image for rendering at the default width and height.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.-
Methods inherited from class java.awt.image.AbstractMultiResolutionImage
getGraphics, getHeight, getProperty, getSource, getWidth
-
Methods inherited from class java.awt.Image
flush, getAccelerationPriority, getCapabilities, getScaledInstance, setAccelerationPriority
-
-
-
-
Constructor Detail
-
BaseMultiResolutionImage
public BaseMultiResolutionImage(Image... resolutionVariants)
Creates a multi-resolution image with the given resolution variants. The first resolution variant is used as the base image.- Parameters:
resolutionVariants
- array of resolution variants sorted by image size- Throws:
IllegalArgumentException
- if null or zero-length array is passedNullPointerException
- if the specifiedresolutionVariants
contains one or more null elements- Since:
- 9
-
BaseMultiResolutionImage
public BaseMultiResolutionImage(int baseImageIndex, Image... resolutionVariants)
Creates a multi-resolution image with the given base image index and resolution variants.- Parameters:
baseImageIndex
- the index of base image in the resolution variants arrayresolutionVariants
- array of resolution variants sorted by image size- Throws:
IllegalArgumentException
- if null or zero-length array is passedNullPointerException
- if the specifiedresolutionVariants
contains one or more null elementsIndexOutOfBoundsException
- ifbaseImageIndex
is negative or greater than or equal toresolutionVariants
length.- Since:
- 9
-
-
Method Detail
-
getResolutionVariant
public Image getResolutionVariant(double destImageWidth, double destImageHeight)
Description copied from interface:MultiResolutionImage
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.
-
getResolutionVariants
public List<Image> getResolutionVariants()
Description copied from interface:MultiResolutionImage
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.
-
getBaseImage
protected Image getBaseImage()
Description copied from class:AbstractMultiResolutionImage
Return the base image representing the best version of the image for rendering at the default width and height.- Specified by:
getBaseImage
in classAbstractMultiResolutionImage
- Returns:
- the base image of the set of multi-resolution images
-
-