模块 java.desktop

类 RenderableImageOp

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

public class RenderableImageOp extends Object implements RenderableImage
此类在其关联的 ContextualRenderedImageFactory 实例的帮助下处理操作的可渲染方面。
  • 构造方法详细信息

    • RenderableImageOp

      public RenderableImageOp(ContextualRenderedImageFactory  CRIF, ParameterBlock  paramBlock)
      在给定 ContextualRenderedImageFactory 对象和包含 RenderableImage 源和其他参数的 ParameterBlock 的情况下构造 RenderedImageOp。 ParameterBlock 引用的任何 RenderedImage 源都将被忽略。
      参数:
      CRIF - 一个 ContextualRenderedImageFactory 对象
      paramBlock - 包含此操作的源图像和操作运行所需的其他参数的参数块。
  • 方法详情

    • getSources

      public Vector <RenderableImage > getSources()
      返回作为此 RenderableImage 的图像数据源的 RenderableImages 的向量。请注意,此方法可能会返回一个空向量,以指示图像没有来源,或者返回 null,以指示没有可用信息。
      指定者:
      getSources 在接口 RenderableImage
      返回:
      RenderableImages 的一个(可能为空)向量,或为 null。
    • getProperty

      public Object  getProperty(String  name)
      从此图像的属性集中获取一个属性。如果无法识别属性名称,将返回 java.awt.Image.UndefinedProperty。
      指定者:
      getProperty 在接口 RenderableImage
      参数:
      name - 要获取的属性的名称,作为字符串。
      返回:
      对属性对象的引用,或值 java.awt.Image.UndefinedProperty。
    • getPropertyNames

      public String [] getPropertyNames()
      返回 getProperty 识别的名称列表。
      指定者:
      getPropertyNames 在接口 RenderableImage
      返回:
      属性名称列表。
    • isDynamic

      public boolean isDynamic()
      如果使用相同参数的连续渲染(即调用 createRendering() 或 createScaledRendering())可能产生不同的结果,则返回 true。此方法可用于确定是否可以缓存和重用现有渲染。将调用 CRIF 的 isDynamic 方法。
      指定者:
      isDynamic 在接口 RenderableImage
      返回:
      true 如果具有相同参数的连续渲染可能会产生不同的结果; false否则。
    • getWidth

      public float getWidth()
      获取用户坐标空间中的宽度。按照惯例,RenderableImage 的通常宽度等于图像的纵横比(宽度除以高度)。
      指定者:
      getWidth 在接口 RenderableImage
      返回:
      图像在用户坐标中的宽度。
    • getHeight

      public float getHeight()
      获取用户坐标空间中的高度。按照惯例,RenderedImage 的通常高度等于 1.0F。
      指定者:
      getHeight 在接口 RenderableImage
      返回:
      图像在用户坐标中的高度。
    • getMinX

      public float getMinX()
      获取与渲染无关的图像数据的最小 X 坐标。
      指定者:
      getMinX 在接口 RenderableImage
      返回:
      与渲染无关的图像数据的最小 X 坐标。
    • getMinY

      public float getMinY()
      获取与渲染无关的图像数据的最小 Y 坐标。
      指定者:
      getMinY 在接口 RenderableImage
      返回:
      与渲染无关的图像数据的最小 Y 坐标。
    • setParameterBlock

      public ParameterBlock  setParameterBlock(ParameterBlock  paramBlock)
      更改操作的当前 ParameterBlock,允许编辑图像渲染链。当从此 RenderableImageOp 或任何依赖的 RenderableImageOp 创建新渲染时,此类更改的效果将可见。
      参数:
      paramBlock - 新的参数块。
      返回:
      旧的参数块。
      参见:
    • getParameterBlock

      public ParameterBlock  getParameterBlock()
      返回对当前参数块的引用。
      返回:
      这个RenderableImageOpParameterBlock
      参见:
    • createScaledRendering

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

      如果 w == 0,它将取等于 Math.round(h*(getWidth()/getHeight()))。同样,如果 h == 0,它将取等于 Math.round(w*(getHeight()/getWidth()))。 w 或 h 之一必须非零,否则将抛出 IllegalArgumentException。

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

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

      public RenderedImage  createDefaultRendering()
      获取此图像的 RenderedImage 实例,该实例具有默认的宽度和高度(以像素为单位)。 RenderContext 是使用适当的 usr2dev 转换和完整图像的感兴趣区域自动构建的。所有渲染提示都来自传入的提示。此接口的实现者必须确保有定义的默认宽度和高度。
      指定者:
      createDefaultRendering 在接口 RenderableImage
      返回:
      包含渲染数据的 RenderedImage。
    • createRendering

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

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

      1. 在每个 RenderableImage 源的关联 CRIF 上调用 mapRenderContext();
      2. 使用在步骤 1 中获得的向后映射的 RenderContexts 在每个 RenderableImage 源上调用 createRendering(),从而导致每个源的渲染;
      3. ContextualRenderedImageFactory.create() 是用一个新的 ParameterBlock 调用的,该参数块包含 RenderableImageOp 的参数和由 createRendering() 调用创建的 RenderedImages。

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

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

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