JavaTM Platform
Standard Ed. 6

java.awt.image.renderable
接口 ContextualRenderedImageFactory

所有超级接口:
RenderedImageFactory

public interface ContextualRenderedImageFactory
     
extends RenderedImageFactory

ContextualRenderedImageFactory 为在 RenderableImageOp 实例之间可能不同的功能提供接口。因此,单个类(如 RenderedImageOp)可以通过使用 ContextualRenderedImageFactory 的多个实例对 RenderableImage 执行不同的操作。名称 ContextualRenderedImageFactory 通常缩写为 "CRIF"。

所有要在与呈现无关的链中使用的操作必须实现 ContextualRenderedImageFactory。

实现此接口的类必须提供不带参数的构造方法。


方法摘要
 RenderedImage create(RenderContext renderContext, ParameterBlock paramBlock)
          根据给定包含操作的源和参数的 RenderContext 和 ParameterBlock 创建一个呈现。
 Rectangle2D getBounds2D(ParameterBlock paramBlock)
          返回操作的输出的边界框,该操作在与呈现无关的空间中给定的一组源上执行。
 Object getProperty(ParameterBlock paramBlock, String name)
          获取由 name 参数指定的属性的适当实例。
 String[] getPropertyNames()
          返回由 getProperty 识别的名称列表。
 boolean isDynamic()
          如果使用相同参数的后续呈现(即调用 create(RenderContext, ParameterBlock))可以生成不同的结果,则返回 true。
 RenderContext mapRenderContext(int i, RenderContext renderContext, ParameterBlock paramBlock, RenderableImage image)
          将该操作的输出 RenderContext 映射到每个操作源的 RenderContext。
 
从接口 java.awt.image.renderable.RenderedImageFactory 继承的方法
create
 

方法详细信息

mapRenderContext

RenderContext mapRenderContext(int i,
                               RenderContext renderContext,
                               ParameterBlock paramBlock,
                               RenderableImage image)
将该操作的输出 RenderContext 映射到每个操作源的 RenderContext。这对以下操作非常有用:可以在 RenderContext 中完整表达或仅作为替换的一部分表达的操作,如仿射映射;为节省处理工作或传输带宽,希望获取源的较低质量的呈现的操作。某些操作(如模糊处理)也可以使用此机制来避免获取高于所需质量的源。

参数:
i - 源图像的索引。
renderContext - 应用于操作的 RenderContext。
paramBlock - 包含操作的源和参数的 ParameterBlock。
image - 正被呈现的 RenderableImage。
返回:
源的 RenderContext,该源位于指定 ParameterBlock 包含的参数 Vector 的指定索引处。

create

RenderedImage create(RenderContext renderContext,
                     ParameterBlock paramBlock)
根据给定包含操作的源和参数的 RenderContext 和 ParameterBlock 创建一个呈现。输出一个用 RenderContext 确定其在图像平面上的尺寸和位置的 RenderedImage。此方法内含“智能”,允许与呈现无关的操作,以适合特定的 RenderContext。

参数:
renderContext - 指定呈现的 RenderContext
paramBlock - 包含操作的源和参数的 ParameterBlock
返回:
根据指定 ParameterBlock 中的源和参数并按照指定 RenderContext 的呈现指令确定的 RenderedImage

getBounds2D

Rectangle2D getBounds2D(ParameterBlock paramBlock)
返回操作的输出的边界框,该操作在与呈现无关的空间中给定的一组源上执行。该边界作为一个 Rectangle2D 返回,即一个带浮点值角坐标的沿轴对齐的(axis-aligned)矩形。

参数:
paramBlock - 包含操作的源和参数的 ParameterBlock。
返回:
指定输出的与呈现无关的边界框的 Rectangle2D。

getProperty

Object getProperty(ParameterBlock paramBlock,
                   String name)
获取由 name 参数指定的属性的适当实例。如果存在多个源,并且每个源都指定某个属性,此方法必须确定返回该属性的哪个实例。

参数:
paramBlock - 包含操作的源和参数的 ParameterBlock。
name - 命名所需属性的字符串。
返回:
引用所请求属性的值的对象。

getPropertyNames

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

返回:
属性名称的列表。

isDynamic

boolean isDynamic()
如果使用相同参数的后续呈现(即调用 create(RenderContext, ParameterBlock))可以生成不同的结果,则返回 true。可以使用此方法来确定某个现有呈现是否可以被缓存或重用。返回 true 表示始终安全。

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

JavaTM Platform
Standard Ed. 6

提交错误或意见
有关更多的 API 参考资料和开发人员文档,请参阅 Java SE 开发人员文档。该文档包含更详细的、面向开发人员的描述,以及总体概述、术语定义、使用技巧和工作代码示例。

版权所有 2007 Sun Microsystems, Inc. 保留所有权利。 请遵守许可证条款。另请参阅文档重新分发政策