Fields Summary |
---|
private static ImageCapabilities | defaultImageCapsconvenience object; we can use this single static object for
all images that do not create their own image caps; it holds the
default (unaccelerated) properties. |
protected float | accelerationPriorityPriority for accelerating this image. Subclasses are free to
set different default priorities and applications are free to
set the priority for specific images via the
setAccelerationPriority(float) method. |
public static final Object | UndefinedPropertyThe UndefinedProperty object should be returned whenever a
property which was not defined for a particular image is fetched. |
public static final int | SCALE_DEFAULTUse the default image-scaling algorithm. |
public static final int | SCALE_FASTChoose an image-scaling algorithm that gives higher priority
to scaling speed than smoothness of the scaled image. |
public static final int | SCALE_SMOOTHChoose an image-scaling algorithm that gives higher priority
to image smoothness than scaling speed. |
public static final int | SCALE_REPLICATEUse the image scaling algorithm embodied in the
ReplicateScaleFilter class.
The Image object is free to substitute a different filter
that performs the same algorithm yet integrates more efficiently
into the imaging infrastructure supplied by the toolkit. |
public static final int | SCALE_AREA_AVERAGINGUse the Area Averaging image scaling algorithm. The
image object is free to substitute a different filter that
performs the same algorithm yet integrates more efficiently
into the image infrastructure supplied by the toolkit. |
Methods Summary |
---|
public abstract void | flush()Flushes all resources being used by this Image object. This
includes any pixel data that is being cached for rendering to
the screen as well as any system resources that are being used
to store data or pixels for the image. The image is reset to
a state similar to when it was first created so that if it is
again rendered, the image data will have to be recreated or
fetched again from its source.
This method always leaves the image in a state such that it can
be reconstructed. This means the method applies only to cached
or other secondary representations of images such as those that
have been generated from an ImageProducer (read from a
file, for example). It does nothing for off-screen images that
have only one copy of their data.
|
public float | getAccelerationPriority()Returns the current value of the acceleration priority hint.
return accelerationPriority;
|
public java.awt.ImageCapabilities | getCapabilities(java.awt.GraphicsConfiguration gc)Returns an ImageCapabilities object which can be
inquired as to the capabilities of this
Image on the specified GraphicsConfiguration.
This allows programmers to find
out more runtime information on the specific Image
object that they have created. For example, the user
might create a BufferedImage but the system may have
no video memory left for creating an image of that
size on the given GraphicsConfiguration, so although the object
may be acceleratable in general, it is
does not have that capability on this GraphicsConfiguration.
// Note: this is just a default object that gets returned by the
// base Image object. Subclasses of Image should override this
// method and return an ImageCapabilities object that is appropriate
// for a given instance of that subclass.
return defaultImageCaps;
|
public abstract java.awt.Graphics | getGraphics()Creates a graphics context for drawing to an off-screen image.
This method can only be called for off-screen images.
|
public abstract int | getHeight(java.awt.image.ImageObserver observer)Determines the height of the image. If the height is not yet known,
this method returns -1 and the specified
ImageObserver object is notified later.
|
public abstract java.lang.Object | getProperty(java.lang.String name, java.awt.image.ImageObserver observer)Gets a property of this image by name.
Individual property names are defined by the various image
formats. If a property is not defined for a particular image, this
method returns the UndefinedProperty object.
If the properties for this image are not yet known, this method
returns null , and the ImageObserver
object is notified later.
The property name "comment" should be used to store
an optional comment which can be presented to the application as a
description of the image, its source, or its author.
|
public java.awt.Image | getScaledInstance(int width, int height, int hints)Creates a scaled version of this image.
A new Image object is returned which will render
the image at the specified width and
height by default. The new Image object
may be loaded asynchronously even if the original source image
has already been loaded completely.
If either width
or height is a negative number then a value is
substituted to maintain the aspect ratio of the original image
dimensions. If both width and height
are negative, then the original image dimensions are used.
ImageFilter filter;
if ((hints & (SCALE_SMOOTH | SCALE_AREA_AVERAGING)) != 0) {
filter = new AreaAveragingScaleFilter(width, height);
} else {
filter = new ReplicateScaleFilter(width, height);
}
ImageProducer prod;
prod = new FilteredImageSource(getSource(), filter);
return Toolkit.getDefaultToolkit().createImage(prod);
|
public abstract java.awt.image.ImageProducer | getSource()Gets the object that produces the pixels for the image.
This method is called by the image filtering classes and by
methods that perform image conversion and scaling.
|
public abstract int | getWidth(java.awt.image.ImageObserver observer)Determines the width of the image. If the width is not yet known,
this method returns -1 and the specified
ImageObserver object is notified later.
|
public void | setAccelerationPriority(float priority)Sets a hint for this image about how important acceleration is.
This priority hint is used to compare to the priorities of other
Image objects when determining how to use scarce acceleration
resources such as video memory. When and if it is possible to
accelerate this Image, if there are not enough resources available
to provide that acceleration but enough can be freed up by
de-acceleration some other image of lower priority, then that other
Image may be de-accelerated in deference to this one. Images
that have the same priority take up resources on a first-come,
first-served basis.
if (priority < 0 || priority > 1) {
throw new IllegalArgumentException("Priority must be a value " +
"between 0 and 1, inclusive");
}
accelerationPriority = priority;
|