- java.lang.Object
-
- java.awt.Image
-
- 已知直接子类:
-
AbstractMultiResolutionImage,BufferedImage,VolatileImage
public abstract class Image extends Object
抽象类Image是表示图形图像的所有类的超类。 必须以特定于平台的方式获取图像。- 从以下版本开始:
- 1.0
-
-
字段汇总
字段 变量和类型 字段 描述 protected floataccelerationPriority加速此图像的优先级。static intSCALE_AREA_AVERAGING使用Area Averaging图像缩放算法。static intSCALE_DEFAULT使用默认的图像缩放算法。static intSCALE_FAST选择图像缩放算法,该算法比缩放图像的平滑度具有更高的缩放速度优先级。static intSCALE_REPLICATE使用ReplicateScaleFilter类中包含的图像缩放算法。static intSCALE_SMOOTH选择图像缩放算法,使图像平滑度优先于缩放速度。static ObjectUndefinedProperty只要获取未为特定图像定义的属性,就应返回UndefinedProperty对象。
-
构造方法摘要
构造方法 构造器 描述 Image()
-
方法摘要
所有方法 实例方法 抽象方法 具体的方法 变量和类型 方法 描述 voidflush()刷新此Image对象使用的所有可重构资源。floatgetAccelerationPriority()返回加速优先级提示的当前值。ImageCapabilitiesgetCapabilities(GraphicsConfiguration gc)返回一个ImageCapabilities对象,可以在指定的GraphicsConfiguration上查询此Image的功能。abstract GraphicsgetGraphics()创建用于绘制到屏幕外图像的图形上下文。abstract intgetHeight(ImageObserver observer)确定图像的高度。abstract ObjectgetProperty(String name, ImageObserver observer)按名称获取此图像的属性。ImagegetScaledInstance(int width, int height, int hints)创建此图像的缩放版本。abstract ImageProducergetSource()获取生成图像像素的对象。abstract intgetWidth(ImageObserver observer)确定图像的宽度。voidsetAccelerationPriority(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
- 另请参见:
- 常数字段值
-
SCALE_FAST
public static final int SCALE_FAST
选择图像缩放算法,该算法比缩放图像的平滑度具有更高的缩放速度优先级。- 从以下版本开始:
- 1.1
- 另请参见:
- 常数字段值
-
SCALE_SMOOTH
public static final int SCALE_SMOOTH
选择图像缩放算法,使图像平滑度优先于缩放速度。- 从以下版本开始:
- 1.1
- 另请参见:
- 常数字段值
-
SCALE_REPLICATE
public static final int SCALE_REPLICATE
使用ReplicateScaleFilter类中包含的图像缩放算法。Image对象可以自由替换执行相同算法的不同过滤器,但可以更有效地集成到工具包提供的映像基础结构中。- 从以下版本开始:
- 1.1
- 另请参见:
-
ReplicateScaleFilter, 常数字段值
-
SCALE_AREA_AVERAGING
public static final int SCALE_AREA_AVERAGING
使用Area Averaging图像缩放算法。 图像对象可以自由替换执行相同算法的不同过滤器,但更有效地集成到工具包提供的图像基础结构中。- 从以下版本开始:
- 1.1
- 另请参见:
-
AreaAveragingScaleFilter, 常数字段值
-
-
方法详细信息
-
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- 如果属性名称为null。 - 另请参见:
-
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对象离开主要Raster,它不会保持像素的存储,但会清除缓存有关这些像素的任何信息,例如上传到显示硬件的副本以加速blits。
- 由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对象,在指定的GraphicsConfiguration上包含此Image的功能。 - 从以下版本开始:
- 1.5
- 另请参见:
-
VolatileImage.getCapabilities()
-
setAccelerationPriority
public void setAccelerationPriority(float priority)
为此图像设置有关加速度有多重要的提示。 在确定如何使用稀缺的加速资源(如视频内存)时,此优先级提示用于与其他Image对象的优先级进行比较。 何时以及是否可以加速此图像,如果没有足够的资源可用于提供加速但是可以通过去加速其他一些较低优先级的图像来释放足够的图像,那么其他图像可能会在加速时被去加速对这一个。 具有相同优先级的图像以先到先得的方式占用资源。- 参数
-
priority- 介于0和1之间的值(包括0和1),其中较高的值表示加速的重要性。 值为0表示永远不应加速此Image。 其他值仅用于确定相对于其他图像的加速度优先级。 - 异常
-
IllegalArgumentException- 如果priority小于零或大于1。 - 从以下版本开始:
- 1.5
-
getAccelerationPriority
public float getAccelerationPriority()
返回加速优先级提示的当前值。- 结果
- 0到1之间的值,包括0和1,表示当前优先级值
- 从以下版本开始:
- 1.5
- 另请参见:
-
setAccelerationPriority
-
-