Class BaseMultiResolutionImage
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 the
AbstractMultiResolutionImage class. This class will implement the getResolutionVariant(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:
Field Summary
Fields declared in class Image
accelerationPriority, SCALE_AREA_AVERAGING, SCALE_DEFAULT, SCALE_FAST, SCALE_REPLICATE, SCALE_SMOOTH, UndefinedProperty | Modifier and Type | Field | Description |
|---|---|---|
protected float |
accelerationPriority |
Priority for accelerating this image. |
static final int |
SCALE_AREA_AVERAGING |
Use the Area Averaging image scaling algorithm. |
static final int |
SCALE_DEFAULT |
Use the default image-scaling algorithm. |
static final int |
SCALE_FAST |
Choose an image-scaling algorithm that gives higher priority to scaling speed than smoothness of the scaled image. |
static final int |
SCALE_REPLICATE |
Use the image scaling algorithm embodied in the ReplicateScaleFilter class. |
static final int |
SCALE_SMOOTH |
Choose an image-scaling algorithm that gives higher priority to image smoothness than scaling speed. |
static final Object |
UndefinedProperty |
The UndefinedProperty object should be returned whenever a property which was not defined for a particular image is fetched. |
Constructor Summary
| Constructor | Description |
|---|---|
BaseMultiResolutionImage |
Creates a multi-resolution image with the given base image index and resolution variants. |
BaseMultiResolutionImage |
Creates a multi-resolution image with the given resolution variants. |
Method Summary
| 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 |
Gets a specific image that is the best variant to represent this logical image at the indicated size. |
List |
getResolutionVariants() |
Gets a readable list of all resolution variants. |
Methods declared in class AbstractMultiResolutionImage
getGraphics, getHeight, getProperty, getSource, getWidth | Modifier and Type | Method | Description |
|---|---|---|
Graphics |
getGraphics() |
As per the contract of the base Image#getGraphics() method, this implementation will always throw UnsupportedOperationException since only off-screen images can return a Graphics object. |
int |
getHeight |
This method simply delegates to the same method on the base image and it is equivalent to: getBaseImage().getHeight(observer). |
Object |
getProperty |
This method simply delegates to the same method on the base image and it is equivalent to: getBaseImage().getProperty(name, observer). |
ImageProducer |
getSource() |
This method simply delegates to the same method on the base image and it is equivalent to: getBaseImage().getSource(). |
int |
getWidth |
This method simply delegates to the same method on the base image and it is equivalent to: getBaseImage().getWidth(observer). |
Methods declared in class Image
flush, getAccelerationPriority, getCapabilities, getScaledInstance, setAccelerationPriority | Modifier and Type | Method | Description |
|---|---|---|
void |
flush() |
Flushes all reconstructable resources being used by this Image object. |
float |
getAccelerationPriority() |
Returns the current value of the acceleration priority hint. |
ImageCapabilities |
getCapabilities |
Returns an ImageCapabilities object which can be inquired as to the capabilities of this Image on the specified GraphicsConfiguration. |
Image |
getScaledInstance |
Creates a scaled version of this image. |
void |
setAccelerationPriority |
Sets a hint for this image about how important acceleration is. |
Methods declared in class Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait | Modifier and Type | Method | Description |
|---|---|---|
protected Object |
clone() |
Creates and returns a copy of this object. |
boolean |
equals |
Indicates whether some other object is "equal to" this one. |
protected void |
finalize() |
Deprecated, for removal: This API element is subject to removal in a future version. Finalization is deprecated and subject to removal in a future release. |
final Class |
getClass() |
Returns the runtime class of this Object. |
int |
hashCode() |
Returns a hash code value for this object. |
final void |
notify() |
Wakes up a single thread that is waiting on this object's monitor. |
final void |
notifyAll() |
Wakes up all threads that are waiting on this object's monitor. |
String |
toString() |
Returns a string representation of the object. |
final void |
wait() |
Causes the current thread to wait until it is awakened, typically by being notified or interrupted. |
final void |
wait |
Causes the current thread to wait until it is awakened, typically by being notified or interrupted, or until a certain amount of real time has elapsed. |
final void |
wait |
Causes the current thread to wait until it is awakened, typically by being notified or interrupted, or until a certain amount of real time has elapsed. |
Constructor Details
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 passed -
NullPointerException- if the specifiedresolutionVariantscontains 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 array -
resolutionVariants- array of resolution variants sorted by image size - Throws:
-
IllegalArgumentException- if null or zero-length array is passed -
NullPointerException- if the specifiedresolutionVariantscontains one or more null elements -
IndexOutOfBoundsException- ifbaseImageIndexis negative or greater than or equal toresolutionVariantslength. - Since:
- 9
Method Details
getResolutionVariant
public Image getResolutionVariant(double destImageWidth, double destImageHeight)
Description copied from interface:
MultiResolutionImageGets 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:
MultiResolutionImageGets 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:
AbstractMultiResolutionImageReturn the base image representing the best version of the image for rendering at the default width and height.
- Specified by:
-
getBaseImagein classAbstractMultiResolutionImage - Returns:
- the base image of the set of multi-resolution images
© 1993, 2025, Oracle and/or its affiliates. All rights reserved.
Documentation extracted from Debian's OpenJDK Development Kit package.
Licensed under the GNU General Public License, version 2, with the Classpath Exception.
Various third party code in OpenJDK is licensed under different licenses (see Debian package).
Java and OpenJDK are trademarks or registered trademarks of Oracle and/or its affiliates.