java.awt.image.renderable

接口
所有已知实现类:
RenderableImageOp

public interface RenderableImage

RenderableImage 是与呈现无关的图像(该概念包含与分辨率无关的意思)的公共接口。与呈现无关的图像也就是被描述的、应用与其任何特定呈现无关的操作的那些图像。例如,一个满足以下条件的 RenderableImage:它可以旋转并可以按与分辨率无关的条件进行裁剪。然后,它可以针对各种特定的上下文(如草图预览、高质量屏幕显示或打印机)以最优方式呈现。

RenderedImage 通过 createRendering() 方法从 RenderableImage 返回,该方法采用 RenderContext 作为参数。RenderContext 指定 RenderedImage 的构造方式。注意,不能直接从 RenderableImage 中提取像素。

createDefaultRendering() 和 createScaledRendering() 方法是内部构造适当 RenderContext 的便捷方法。所有呈现方法都可以返回对以前生成的呈现的引用。


字段摘要
static String HINTS_OBSERVED
          可以用于在通过 createRendering 或 createScaledRendering 方法获取的 RenderedImage 上标识属性的字符串常量。
 
方法摘要
 RenderedImage createDefaultRendering()
          返回此图像具有默认宽度和高度(以像素为单位)的一个 RenderedImage 实例。
 RenderedImage createRendering(RenderContext renderContext)
          使用给定的 RenderContext 创建表示此图像一个呈现的 RenderedImage。
 RenderedImage createScaledRendering(int w, int h, RenderingHints hints)
          创建此图像具有宽度 w 和高度 h(以像素为单位)的一个 RenderedImage 实例。
 float getHeight()
          获取用户坐标空间中的高度。
 float getMinX()
          获取与呈现无关的图像数据的最小 X 坐标。
 float getMinY()
          获取与呈现无关的图像数据的最小 Y 坐标。
 Object getProperty(String name)
          从此图像的属性集中获取某个属性。
 String[] getPropertyNames()
          返回由 getProperty 识别的名称列表。
 Vector<RenderableImage> getSources()
          返回作为此 RenderableImage 的图像数据源的 RenderableImage 的向量。
 float getWidth()
          获取用户坐标空间中的宽度。
 boolean isDynamic()
          如果使用相同参数的后续呈现(即调用 createRendering() 或 createScaledRendering())可以生成不同的结果,则返回 true。
 

字段详细信息

HINTS_OBSERVED

static final String HINTS_OBSERVED
可以用于在通过 createRendering 或 createScaledRendering 方法获取的 RenderedImage 上标识属性的字符串常量。如果存在此类属性,则该属性的值将是一个 RenderingHints 对象,该对象指定在创建该呈现时要注意的提示。

另请参见:
常量字段值
方法详细信息

getSources

Vector<RenderableImage> getSources()
返回作为此 RenderableImage 的图像数据源的 RenderableImage 的向量。注意,此方法可能返回空向量,指示该图像没有源,或者返回 null,指示没有可用信息。

返回:
RenderableImages 的(可能为空的)Vector,或者 null。

getProperty

Object getProperty(String name)
从此图像的属性集中获取某个属性。如果该属性名无法识别,将返回 java.awt.Image.UndefinedProperty。

参数:
name - 要获取的属性名称(以 String 形式)。
返回:
对属性 Object 的引用,或者值 java.awt.Image.UndefinedProperty。

getPropertyNames

String[] getPropertyNames()
返回由 getProperty 识别的名称列表。

返回:
属性名称列表。

isDynamic

boolean isDynamic()
如果使用相同参数的后续呈现(即调用 createRendering() 或 createScaledRendering())可以生成不同的结果,则返回 true。此方法可用于确定是否可以缓存和重用现有呈现。返回 true 始终安全。

返回:
如果使用相同参数的后续呈现可以生成不同结果,则返回 true;否则返回 false

getWidth

float getWidth()
获取用户坐标空间中的宽度。按照惯例,RenderableImage 的常规宽度等于该图像的高宽比(宽度除以高度)。

返回:
用户坐标中图像的宽度。

getHeight

float getHeight()
获取用户坐标空间中的高度。按照惯例,RenderedImage 的常规宽度等于 1.0F。

返回:
用户坐标中图像的高度。

getMinX

float getMinX()
获取与呈现无关的图像数据的最小 X 坐标。

返回:
与呈现无关的图像数据的最小 X 坐标。

getMinY

float getMinY()
获取与呈现无关的图像数据的最小 Y 坐标。

返回:
与呈现无关的图像数据的最小 Y 坐标。

createScaledRendering

RenderedImage createScaledRendering(int w,
                                    int h,
                                    RenderingHints hints)
创建此图像具有宽度 w 和高度 h(以像素为单位)的一个 RenderedImage 实例。使用适当的 usr2dev 变换和完整图像的感兴趣区域自动构建 RenderContext。所有呈现提示均来自传入的提示。

如果 w == 0,则该值将等于 Math.round(h*(getWidth()/getHeight()))。类似地,如果 h == 0,则该值将等于 Math.round(w*(getHeight()/getWidth()))。w 和 h 中必须有一个不为零,否则将抛出 IllegalArgumentException。

创建的 RenderedImage 可能有一个由字符串 HINTS_OBSERVED 标识的属性,以指示使用了哪些 RenderingHints 创建该图像。此外,通过创建的 RenderedImage 上的 getSources() 方法获得的任何 RenderedImage 都可能具该属性。

参数:
w - 所呈现图像的宽度(以像素为单位),或者为 0。
h - 所呈现图像的高度(以像素为单位),或者为 0。
hints - 包含提示的 RenderingHints 对象。
返回:
包含所呈现数据的 RenderedImage。

createDefaultRendering

RenderedImage createDefaultRendering()
返回此图像具有默认宽度和高度(以像素为单位)的一个 RenderedImage 实例。使用适当的 usr2dev 变换和完整图像的感兴趣区域自动构建 RenderContext。该呈现提示为空。为提高速度,createDefaultRendering 可能会使用已存储的呈现。

返回:
包含所呈现数据的 RenderedImage。

createRendering

RenderedImage createRendering(RenderContext renderContext)
使用给定的 RenderContext 创建表示此图像一个呈现的 RenderedImage。这是获得 RenderableImage 的呈现的最通用的方法。

创建的 RenderedImage 可能有一个由字符串 HINTS_OBSERVED 标识的属性,以指示使用了哪些 RenderingHints(来自 RenderContext)创建该图像。此外,通过创建的 RenderedImage 上的 getSources() 方法获得的任何 RenderedImage 都可能具有该属性。

参数:
renderContext - 用于生成呈现的 RenderContext。
返回:
包含所呈现数据的 RenderedImage。