模块 java.desktop
 java.awt

类 Image

java.lang.Object
java.awt.Image
已知子类:
AbstractMultiResolutionImage , BufferedImage , VolatileImage

public abstract class Image extends Object
抽象类 Image 是表示图形图像的所有类的超类。图像必须以特定于平台的方式获取。
自从:
1.0
  • 字段详细信息

    • 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
      参见:
    • SCALE_AREA_AVERAGING

      public static final int SCALE_AREA_AVERAGING
      使用区域平均图像缩放算法。图像对象可以自由替换执行相同算法但更有效地集成到工具包提供的图像基础结构中的不同过滤器。
      自从:
      1.1
      参见:
  • 构造方法详细信息

    • Image

      protected Image()
      子类调用的构造方法。
  • 方法详情

    • getWidth

      public abstract int getWidth(ImageObserver  observer)
      确定图像的宽度。如果宽度未知,则此方法返回 -1 并稍后通知指定的 ImageObserver 对象。
      参数:
      observer - 等待加载图像的对象。
      返回:
      此图像的宽度,如果宽度未知,则为 -1
      参见:
    • getHeight

      public abstract int getHeight(ImageObserver  observer)
      确定图像的高度。如果高度未知,此方法返回 -1 并稍后通知指定的 ImageObserver 对象。
      参数:
      observer - 等待加载图像的对象。
      返回:
      此图像的高度,如果高度未知,则为 -1
      参见:
    • getSource

      public abstract ImageProducer  getSource()
      获取为图像生成像素的对象。此方法由图像过滤类和执行图像转换和缩放的方法调用。
      返回:
      为该图像生成像素的图像生成器。
      参见:
    • getGraphics

      public abstract Graphics  getGraphics()
      创建用于绘制到屏幕外图像的图形上下文。该方法只能在离屏图像时调用。
      返回:
      绘制到屏幕外图像的图形上下文。
      抛出:
      UnsupportedOperationException - 如果调用非屏幕外图像。
      参见:
    • getProperty

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

      各个属性名称由各种图像格式定义。如果未为特定图像定义属性,则此方法返回 UndefinedProperty 对象。

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

      属性名称 "comment" 应该用于存储可选注释,该注释可以作为图像、来源或作者的描述呈现给应用程序。

      参数:
      name - 属性名称。
      observer - 等待加载此图像的对象。
      返回:
      命名属性的值。
      抛出:
      NullPointerException - 如果属性名称为空。
      参见:
    • getScaledInstance

      public Image  getScaledInstance(int width, int height, int hints)
      创建此图像的缩放版本。返回一个新的 Image 对象,默认情况下将在指定的 widthheight 处渲染图像。即使原始源图像已经完全加载,新的 Image 对象也可以异步加载。

      如果 widthheight 是负数,则替换一个值以保持原始图像尺寸的纵横比。如果 widthheight 均为负数,则使用原始图像尺寸。

      参数:
      width - 缩放图像的宽度。
      height - 缩放图像的高度。
      hints - 用于指示用于图像重采样的算法类型的标志。
      返回:
      图像的缩放版本。
      抛出:
      IllegalArgumentException - 如果 widthheight 为零。
      自从:
      1.1
      参见:
    • flush

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

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

      • BufferedImage 对象保留存储其像素的主要 Raster 不变,但刷新缓存的有关这些像素的任何信息,例如上传到显示硬件以加速 blits 的副本。
      • 由采用宽度和高度的组件方法创建的图像对象保留其主要像素缓冲区不变,但释放所有缓存信息,就像对 BufferedImage 对象所做的一样。
      • VolatileImage 对象释放其所有像素资源,包括其主要副本,该副本通常存储在资源稀缺的显示硬件上。稍后可以使用它们的 validate 方法恢复这些对象。
      • 由 Toolkit 创建的图像对象和从文件、URL 加载或由 ImageProducer 生成的组件类将被卸载,并释放所有本地资源。这些对象稍后可以在渲染时根据需要从其原始源重新加载,就像它们首次创建时一样。
    • getCapabilities

      public ImageCapabilities  getCapabilities(GraphicsConfiguration  gc)
      返回一个 ImageCapabilities 对象,可以查询此 Image 在指定 GraphicsConfiguration 上的功能。这允许程序员找到有关他们创建的特定 Image 对象的更多运行时信息。例如,用户可能会创建一个 BufferedImage,但系统可能没有剩余视频内存来在给定的 GraphicsConfiguration 上创建该大小的图像,因此尽管该对象通常可以加速,但它在此 GraphicsConfiguration 上没有该功能。
      参数:
      gc - 一个 GraphicsConfiguration 对象。此参数的值为 null 将导致获取默认 GraphicsConfiguration 的图像功能。
      返回:
      一个 ImageCapabilities 对象,其中包含此 Image 在指定 GraphicsConfiguration 上的功能。
      自从:
      1.5
      参见:
    • 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,表示当前优先级值
      自从:
      1.5
      参见: