- java.lang.Object
-
- java.awt.Image
-
- 已知直接子类:
-
AbstractMultiResolutionImage
,BufferedImage
,VolatileImage
public abstract class Image extends Object
抽象类Image
是表示图形图像的所有类的超类。 必须以平台特定的方式获取图像。- 从以下版本开始:
- 1.0
-
-
Field Summary
Fields Modifier and Type Field 描述 protected float
accelerationPriority
优先加速此图像。static int
SCALE_AREA_AVERAGING
使用区域平均图像缩放算法。static int
SCALE_DEFAULT
使用默认的图像缩放算法。static int
SCALE_FAST
选择一种图像缩放算法,比缩放图像的平滑度更高优先级。static int
SCALE_REPLICATE
使用ReplicateScaleFilter
类中体现的图像缩放算法。static int
SCALE_SMOOTH
选择一种图像缩放算法,其优先级高于图像平滑度,而不是缩放速度。static Object
UndefinedProperty
每当获取未为特定图像定义的属性时,应返回UndefinedProperty
对象。
-
构造方法摘要
构造方法 Constructor 描述 Image()
-
方法摘要
所有方法 接口方法 抽象方法 具体的方法 Modifier and Type 方法 描述 void
flush()
刷新此Image对象正在使用的所有可重建资源。float
getAccelerationPriority()
返回加速优先提示的当前值。ImageCapabilities
getCapabilities(GraphicsConfiguration gc)
返回一个ImageCapabilities对象,可以在指定的GraphicsConfiguration上查询该Image的功能。abstract Graphics
getGraphics()
创建图形上下文以绘制到离屏图像。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)
为此图像设置一个关于加速度有多重要的提示。
-
-
-
字段详细信息
-
accelerationPriority
protected float accelerationPriority
优先加速此图像。 子类可以自由设置不同的默认优先级,应用程序可以通过setAccelerationPriority(float)
方法自由设置特定图像的优先级。- 从以下版本开始:
- 1.5
-
UndefinedProperty
public static final Object UndefinedProperty
每当获取未为特定图像定义的属性时,应返回UndefinedProperty
对象。
-
SCALE_DEFAULT
public static final int SCALE_DEFAULT
使用默认的图像缩放算法。- 从以下版本开始:
- 1.1
- 另请参见:
- Constant Field Values
-
SCALE_FAST
public static final int SCALE_FAST
选择一种图像缩放算法,比缩放图像的平滑度更高优先级。- 从以下版本开始:
- 1.1
- 另请参见:
- Constant Field Values
-
SCALE_SMOOTH
public static final int SCALE_SMOOTH
选择一种图像缩放算法,其优先级高于图像平滑度,而不是缩放速度。- 从以下版本开始:
- 1.1
- 另请参见:
- Constant Field Values
-
SCALE_REPLICATE
public static final int SCALE_REPLICATE
使用ReplicateScaleFilter
类中体现的图像缩放算法。Image
对象可以自由替代执行相同算法的不同过滤器,而且可以更有效地集成到由工具包提供的成像基础架构中。- 从以下版本开始:
- 1.1
- 另请参见:
-
ReplicateScaleFilter
, Constant Field Values
-
SCALE_AREA_AVERAGING
public static final int SCALE_AREA_AVERAGING
使用区域平均图像缩放算法。 图像对象可以自由地替换执行相同算法的不同过滤器,而且更有效地集成到工具包提供的图像基础设施中。- 从以下版本开始:
- 1.1
- 另请参见:
-
AreaAveragingScaleFilter
, Constant Field Values
-
-
方法详细信息
-
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()
创建图形上下文以绘制到离屏图像。 该方法只能用于离屏图像。- 结果
- 绘制到屏幕外图像的图形上下文。
- 异常
-
UnsupportedOperationException
- 如果调用了非屏幕截图图像。 - 另请参见:
-
Graphics
,Component.createImage(int, int)
-
getProperty
public abstract Object getProperty(String name, ImageObserver observer)
通过名称获取此图像的属性。单个属性名称由各种图像格式定义。 如果未为特定图像定义属性,则此方法返回
UndefinedProperty
对象。如果此图像的属性尚未知道,则此方法返回
null
,稍后通知ImageObserver
对象。应使用属性名称
"comment"
来存储一个可选的注释,该注释可以作为图像,其来源或作者的描述呈现给应用程序。- 参数
-
name
- 属性名称。 -
observer
- 等待加载图像的对象。 - 结果
- 命名属性的值。
- 异常
-
NullPointerException
- 如果属性名称为空。 - 另请参见:
-
ImageObserver
,UndefinedProperty
-
getScaledInstance
public Image getScaledInstance(int width, int height, int hints)
创建此图像的缩放版本。 将返回一个新的Image
对象,默认情况下将渲染指定的图像为width
和height
。 即使原始源图像已经完全加载,新的Image
对象也可能异步加载。如果
width
或height
是负数,则代替值来维持原始图像尺寸的宽高比。 如果width
和height
都为负数,则使用原始图像尺寸。- 参数
-
width
- 缩放图像的宽度。 -
height
- 缩放图像的高度。 -
hints
- 用于指示用于图像重采样的算法类型的标志。 - 结果
- 图像的缩放版本。
- 异常
-
IllegalArgumentException
- 如果width
或height
为零。 - 从以下版本开始:
- 1.1
- 另请参见:
-
SCALE_DEFAULT
,SCALE_FAST
,SCALE_SMOOTH
,SCALE_REPLICATE
,SCALE_AREA_AVERAGING
-
flush
public void flush()
刷新此Image对象正在使用的所有可重建资源。 这包括正被缓存以呈现到屏幕的任何像素数据以及用于存储图像的数据或像素的任何系统资源,如果可以重新创建它们。 图像被重置为类似于首次创建的状态,以便如果再次呈现,则图像数据将不得不从其源重新创建或再次获取。该方法如何影响Image对象的特定类型的示例:
- BufferedImage对象离开主要的栅格,将其像素保持不变,但可以刷新任何缓存有关像素的信息,例如上传到显示硬件的副本,以加速闪存。
- 由Component方法创建的图像对象,其宽度和高度使其主要像素缓冲区保持不变,但是缓冲信息的释放与BufferedImage对象完全相同。
- VolatileImage对象释放其所有像素资源,包括其主要副本,这些副本通常存储在资源稀少的显示硬件上。 以后可以使用它们的
validate
方法恢复这些对象。 - 由文件,URL加载的或由
ImageProducer
生成的Toolkit和Component类创建的图像对象将被卸载,并释放所有本地资源。 这些对象随后可以根据需要从原始源重新载入,就像在第一次创建时一样。
-
getCapabilities
public ImageCapabilities getCapabilities(GraphicsConfiguration gc)
返回一个ImageCapabilities对象,可以在指定的GraphicsConfiguration上查询该Image的功能。 这允许程序员找到关于他们创建的特定Image对象的更多运行时信息。 例如,用户可能会创建一个BufferedImage,但是系统可能没有视频内存用于在给定的GraphicsConfiguration上创建该大小的映像,因此虽然该对象通常可以加速,但它在该GraphicsConfiguration上没有这种功能。- 参数
-
gc
- 一个GraphicsConfiguration
对象。 此参数的值为null将导致获取默认GraphicsConfiguration
的映像功能。 - 结果
-
一个
ImageCapabilities
对象,其中包含此Image
在指定的GraphicsConfiguration上的功能。 - 从以下版本开始:
- 1.5
- 另请参见:
-
VolatileImage.getCapabilities()
-
setAccelerationPriority
public void setAccelerationPriority(float priority)
为此图像设置一个关于加速度有多重要的提示。 此优先提示用于在确定如何使用诸如视频存储器之类的稀缺加速资源时与其他Image对象的优先级进行比较。 当有可能加速此图像时,如果没有足够的资源可用来提供加速度,但足够的资源可以通过降低某些较低优先级的其他图像而被释放,那么该其他图像可能会被减速到这一个 具有相同优先级的图像以先到先得的方式占用资源。- 参数
-
priority
- 0和1之间的值,包括0和1,其中较高的值表示加速度更重要。 值为0意味着此图像不应该加速。 其他值仅用于确定相对于其他图像的加速优先级。 - 异常
-
IllegalArgumentException
- 如果priority
小于零或大于1。 - 从以下版本开始:
- 1.5
-
getAccelerationPriority
public float getAccelerationPriority()
返回加速优先提示的当前值。- 结果
- 值在0和1之间,包括0,表示当前优先级值
- 从以下版本开始:
- 1.5
- 另请参见:
-
setAccelerationPriority
-
-