JavaTM Platform
Standard Ed. 6

java.awt.image.renderable
类 RenderableImageOp

java.lang.Object
  继承者 java.awt.image.renderable.RenderableImageOp
所有已实现的接口:
RenderableImage

public class RenderableImageOp
     
extends Object
implements RenderableImage

此类借助其相关的 ContextualRenderedImageFactory 实例处理某个操作的可呈现方面。


字段摘要
 
从接口 java.awt.image.renderable.RenderableImage 继承的字段
HINTS_OBSERVED
 
构造方法摘要
RenderableImageOp(ContextualRenderedImageFactory CRIF, ParameterBlock paramBlock)
          根据给定 ContextualRenderedImageFactory 对象以及一个包含 RenderableImage 源和其他参数的 ParameterBlock 构造 RenderedImageOp。
 
方法摘要
 RenderedImage createDefaultRendering()
          获取此图像具有默认宽度和高度(以像素为单位)的一个 RenderedImage 实例。
 RenderedImage createRendering(RenderContext renderContext)
          创建一个表示根据给定 RenderContext 呈现的 RenderableImageOp(包括其 Renderable 源)的 RenderedImage。
 RenderedImage createScaledRendering(int w, int h, RenderingHints hints)
          创建此图像具有宽度 w 和高度 h(以像素为单位)的一个 RenderedImage 实例。
 float getHeight()
          获取用户坐标空间中的高度。
 float getMinX()
          获取与呈现无关的图像数据的最小 X 坐标。
 float getMinY()
          获取与呈现无关的图像数据的最小 Y 坐标。
 ParameterBlock getParameterBlock()
          返回到对当前参数块的一个引用。
 Object getProperty(String name)
          从此图像的属性集中获取某个属性。
 String[] getPropertyNames()
          返回由 getProperty 识别的名称列表。
 Vector<RenderableImage> getSources()
          返回作为此 RenderableImage 图像数据源的 RenderableImage 的向量。
 float getWidth()
          获取用户坐标空间中的宽度。
 boolean isDynamic()
          如果使用相同参数的后续呈现(即调用 createRendering() 或 createScaledRendering())可以生成不同结果,则返回 true。
 ParameterBlock setParameterBlock(ParameterBlock paramBlock)
          更改操作的当前 ParameterBlock,允许编辑图像呈现链。
 
从类 java.lang.Object 继承的方法
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

构造方法详细信息

RenderableImageOp

public RenderableImageOp(ContextualRenderedImageFactory CRIF,
                         ParameterBlock paramBlock)
根据给定 ContextualRenderedImageFactory 对象以及一个包含 RenderableImage 源和其他参数的 ParameterBlock 构造 RenderedImageOp。由 ParameterBlock 引用的任何 RenderedImage 源都将被忽略。

参数:
CRIF - 一个 ContextualRenderedImageFactory 对象
paramBlock - 一个包含此操作的源图像和该操作运行所必须的其他参数的 ParameterBlock。
方法详细信息

getSources

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

指定者:
接口 RenderableImage 中的 getSources
返回:
RenderableImage 的 Vector(可能为空),或者 null。

getProperty

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

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

getPropertyNames

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

指定者:
接口 RenderableImage 中的 getPropertyNames
返回:
属性名称列表。

isDynamic

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

指定者:
接口 RenderableImage 中的 isDynamic
返回:
如果使用相同参数的后续呈现可以生成不同结果,则返回 true;否则返回 false

getWidth

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

指定者:
接口 RenderableImage 中的 getWidth
返回:
用户坐标中图像的宽度。

getHeight

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

指定者:
接口 RenderableImage 中的 getHeight
返回:
用户坐标中图像的高度。

getMinX

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

指定者:
接口 RenderableImage 中的 getMinX
返回:
与呈现无关的图像数据的最小 X 坐标。

getMinY

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

指定者:
接口 RenderableImage 中的 getMinY
返回:
与呈现无关的图像数据的最小 Y 坐标。

setParameterBlock

public ParameterBlock setParameterBlock(ParameterBlock paramBlock)
更改操作的当前 ParameterBlock,允许编辑图像呈现链。当根据此 RenderableImageOp 或任何相关 RenderableImageOp 创建新呈现时,此更改的效果将是可见的。

参数:
paramBlock - 新的 ParameterBlock。
返回:
旧的 ParameterBlock。
另请参见:
getParameterBlock()

getParameterBlock

public ParameterBlock getParameterBlock()
返回到对当前参数块的一个引用。

返回:
RenderableImageOpParameterBlock
另请参见:
setParameterBlock(ParameterBlock)

createScaledRendering

public 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 都可能具有该属性。

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

createDefaultRendering

public RenderedImage createDefaultRendering()
获取此图像具有默认宽度和高度(以像素为单位)的一个 RenderedImage 实例。使用适当的 usr2dev 变换和完整图像感兴趣的区域自动构建 RenderContext。所有呈现提示均来自传入的提示。此接口的实现者必须保证存在已定义的默认宽度和高度。

指定者:
接口 RenderableImage 中的 createDefaultRendering
返回:
包含所呈现数据的 RenderedImage。

createRendering

public RenderedImage createRendering(RenderContext renderContext)
创建一个表示根据给定 RenderContext 呈现的 RenderableImageOp(包括其 Renderable 源)的 RenderedImage。

此方法支持 Renderable 或 RenderedImage 操作的链接。如果用于构造 RenderableImageOp 的 ParameterBlock 中的源为 RenderableImages,则遵循一个三步骤的过程:

  1. 对每个 RenderableImage 源在相关的 CRIF 上调用 mapRenderContext();
  2. 使用在第 1 步中获取的向后映射的 RenderContext 在每个 RenderableImage 源上调用 createRendering(),得到每个源的呈现;
  3. 调用 ContextualRenderedImageFactory.create(),使用一个新 ParameterBlock,其包含通过调用 createRendering() 创建的 RenderedImage 和 RenderableImageOp 的参数。

如果用于构造 RenderableImageOp 的 ParameterBlock 源 Vector 的元素是 RenderedImage 实例,则立即使用初始 ParameterBlock 调用 CRIF.create() 方法。这为递归提供了一个基本方案。

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

指定者:
接口 RenderableImage 中的 createRendering
参数:
renderContext - 用于执行呈现的 RenderContext。
返回:
包含所需输出图像的 RenderedImage。

JavaTM Platform
Standard Ed. 6

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

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