java.awt

接口
异常
错误
java.lang.Object
  继承者 java.awt.Image
直接已知子类:
BufferedImage, VolatileImage

public abstract class Image
     
extends Object

抽象类 Image 是表示图形图像的所有类的超类。必须以特定于平台的方式获取图像。

从以下版本开始:
JDK1.0

字段摘要
protected  float accelerationPriority
          用于加速此图像的优先级。
static int SCALE_AREA_AVERAGING
          使用 Area Averaging 图像缩放算法。
static int SCALE_DEFAULT
          使用默认的图像缩放算法。
static int SCALE_FAST
          选择一种图像缩放算法,在这种缩放算法中,缩放速度比缩放平滑度具有更高的优先级。
static int SCALE_REPLICATE
          使用 ReplicateScaleFilter 类中包含的图像缩放算法。
static int SCALE_SMOOTH
          选择图像平滑度比缩放速度具有更高优先级的图像缩放算法。
static Object UndefinedProperty
          每当获得某个不是为特定图像定义的属性时,应返回 UndefinedProperty 对象。
 
构造方法摘要
Image()
           
 
方法摘要
 void flush()
          刷新此 Image 对象正在使用的所有可重构的资源。
 float getAccelerationPriority()
          返回加速优先级提示的当前值。
 ImageCapabilities getCapabilities(GraphicsConfiguration gc)
          返回 ImageCapabilities 对象,查询该对象便可以了解使用指定 GraphicsConfiguration 时此 Image 的功能。
abstract  Graphics getGraphics()
          创建供绘制闭屏图像(off-screen image)使用的图形上下文。
abstract  int getHeight(ImageObserver observer)
          确定图像的高度。
abstract  Object getProperty(String name, ImageObserver observer)
          通过名称获取此图像的属性。
 Image getScaledInstance(int width, int height, int hints)
          创建此图像的缩放版本。
abstract  ImageProducer getSource()
          获取生成图像像素的对象。
abstract  int getWidth(ImageObserver observer)
          确定图像的宽度。
 void setAccelerationPriority(float priority)
          就加速的重要性设置此图像的提示。
 
从类 java.lang.Object 继承的方法
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

字段详细信息

accelerationPriority

protected float accelerationPriority
用于加速此图像的优先级。通过 setAccelerationPriority(float) 方法,子类可以随意设置不同的默认优先级,而应用程序可以随意设置特定图像的优先级。

从以下版本开始:
1.5

UndefinedProperty

public static final Object UndefinedProperty
每当获得某个不是为特定图像定义的属性时,应返回 UndefinedProperty 对象。


SCALE_DEFAULT

public static final int SCALE_DEFAULT
使用默认的图像缩放算法。

从以下版本开始:
JDK1.1
另请参见:
常量字段值

SCALE_FAST

public static final int SCALE_FAST
选择一种图像缩放算法,在这种缩放算法中,缩放速度比缩放平滑度具有更高的优先级。

从以下版本开始:
JDK1.1
另请参见:
常量字段值

SCALE_SMOOTH

public static final int SCALE_SMOOTH
选择图像平滑度比缩放速度具有更高优先级的图像缩放算法。

从以下版本开始:
JDK1.1
另请参见:
常量字段值

SCALE_REPLICATE

public static final int SCALE_REPLICATE
使用 ReplicateScaleFilter 类中包含的图像缩放算法。 Image 对象可以随意替代不同的过滤器,以执行相同的算法,但它能更高效地集成工具包所提供的图像处理基础设施。

从以下版本开始:
JDK1.1
另请参见:
ReplicateScaleFilter, 常量字段值

SCALE_AREA_AVERAGING

public static final int SCALE_AREA_AVERAGING
使用 Area Averaging 图像缩放算法。图像对象可以随意替代不同的过滤器,以执行相同的算法,但它能更高效地集成工具包所提供的图像基础设施。

从以下版本开始:
JDK1.1
另请参见:
AreaAveragingScaleFilter, 常量字段值
构造方法详细信息

Image

public Image()
方法详细信息

getWidth

public abstract int getWidth(ImageObserver observer)
确定图像的宽度。如果宽度未知,则此方法返回 -1,然后通知指定的 ImageObserver 对象。

参数:
observer - 等待加载图像的对象。
返回:
此图像的宽度,如果宽度未知则返回 -1
另请参见:
getHeight(java.awt.image.ImageObserver), ImageObserver

getHeight

public abstract int getHeight(ImageObserver observer)
确定图像的高度。如果高度未知,则此方法返回 -1,然后通知指定的 ImageObserver 对象。

参数:
observer - 等待加载图像的对象。
返回:
此图像的高度,如果高度未知则返回 -1
另请参见:
getWidth(java.awt.image.ImageObserver), ImageObserver

getSource

public abstract ImageProducer getSource()
获取生成图像像素的对象。此方法由图像过滤类和执行图像转换及缩放的方法调用。

返回:
为此图像生成像素的图像生产者。
另请参见:
ImageProducer

getGraphics

public abstract Graphics getGraphics()
创建供绘制闭屏图像(off-screen image)使用的图形上下文。此方法仅供闭屏图像调用。

返回:
绘制闭屏图像的图形上下文。
抛出:
UnsupportedOperationException - 如果为非闭屏图像所调用。
另请参见:
Graphics, Component.createImage(int, int)

getProperty

public abstract Object getProperty(String name,
                                   ImageObserver observer)
通过名称获取此图像的属性。

各种图像格式都定义了自己的私人属性名。如果某属性不是为特定图像定义的,则此方法返回 UndefinedProperty 对象。

如果此图像的属性目前未知,则此方法返回 null,然后通知 ImageObserver 对象。

属性名 "comment" 应该用于存储可选注释,在应用程序中它显示为图像的描述、来源或作者。

参数:
name - 属性名。
observer - 等待加载此图像的对象。
返回:
指定属性的值。
抛出:
NullPointerException - 如果属性名为 null。
另请参见:
ImageObserver, UndefinedProperty

getScaledInstance

public Image getScaledInstance(int width,
                               int height,
                               int hints)
创建此图像的缩放版本。返回一个新的 Image 对象,默认情况下,该对象按指定的 widthheight 呈现图像。即使已经完全加载了初始源图像,新的 Image 对象也可以被异步加载。

如果 widthheight 为负数,则替换该值以维持初始图像尺寸的高宽比。如果 widthheight 都为负,则使用初始图像尺寸。

参数:
width - 将图像缩放到的宽度。
height - 将图像缩放到的高度。
hints - 指示用于图像重新取样的算法类型的标志。
返回:
图像的缩放版本。
抛出:
IllegalArgumentException - 如果 widthheight 为零。
从以下版本开始:
JDK1.1
另请参见:
SCALE_DEFAULT, SCALE_FAST, SCALE_SMOOTH, SCALE_REPLICATE, SCALE_AREA_AVERAGING

flush

public void flush()
刷新此 Image 对象正在使用的所有可重构的资源。这包括为呈现到屏幕而缓存的所有像素数据,以及用来存储图像数据或像素的所有系统资源(如果可以重新创建它们)。图像被重置为与初始创建时类似的状态,因此如果再次呈现图像,则必须重新创建图像数据或再次从源中获取这些数据。

此方法如何影响特定类型的 Image 对象的示例如下:

  • BufferedImage 对象不改动存储其像素的主要 Raster,但是刷新有关像素的缓存信息,比如上传到用于加速位图的显示硬件的副本。
  • Image 对象由带有 width 和 height 参数的 Component 方法创建,该方法不改动像素的主要缓冲区,但是释放所有缓存的信息,这与对 BufferedImage 对象的操作非常类似。
  • VolatileImage 对象释放其所有像素资源,这些资源包括通常存储在缺乏资源的显示硬件上的主要副本。这些对象稍后可以使用其 validate 方法还原。
  • 卸载从文件、URL 中加载或由 ImageProducer 生成的 Toolkit 和 Component 类创建的 Image 对象,并释放所有本地资源。稍后可在呈现这些对象时根据需要从初始源重新加载它们,就像第一次创建它们时那样。


getCapabilities

public ImageCapabilities getCapabilities(GraphicsConfiguration gc)
返回 ImageCapabilities 对象,查询该对象便可以了解使用指定 GraphicsConfiguration 时此 Image 的功能。这允许程序员查找关于他们已经创建的特定 Image 对象的更多运行时信息。例如,用户可能创建一个 BufferedImage,但是系统所剩显存可能不足以在使用给定 GraphicsConfiguration 时创建该大小的图像,因此尽管该对象一般而言是可加速的,但在使用 GraphicsConfiguration 时它确实不具有该功能。

参数:
gc - GraphicsConfiguration 对象。此参数值为 null 将导致获取默认 GraphicsConfiguration 的图像功能。
返回:
包含使用指定 GraphicsConfiguration 时此 Image 的功能的 ImageCapabilities 对象。
从以下版本开始:
1.5
另请参见:
VolatileImage#getCapabilities()

setAccelerationPriority

public void setAccelerationPriority(float priority)
就加速的重要性设置此图像的提示。此优先级提示用于在确定如何使用稀缺的加速资源(如显存)时与其他 Image 对象的优先级进行比较。如果可能加速此 Image,但在加速时进行该加速的可用资源不足,若可以通过取消加速具有较低优先级的其他图像来释放足够资源,则其他那些 Image 可能为了这一目的而被取消加速。具有相同优先级的图像利用资源的方式是先到先得。

参数:
priority - 介于 0 和 1 之间的值(包括 0 和 1),较大的值指示加速的重要性较高。值 0 意味着永远不应该加速此 Image。其他值用于确定相对于其他 Image 的加速优先级。
抛出:
IllegalArgumentException - 如果 priority 小于零或大于 1。
从以下版本开始:
1.5

getAccelerationPriority

public float getAccelerationPriority()
返回加速优先级提示的当前值。

返回:
介于 0 和 1 之间的值(包括 0 和 1),表示当前优先级值
从以下版本开始:
1.5
另请参见:
setAccelerationPriority