Module java.desktop

Class RenderableImageOp

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

public class RenderableImageOp extends Object implements RenderableImage
该类处理可渲染操作的方面,并借助其关联的ContextualRenderedImageFactory实例进行操作。
  • Constructor Details

    • RenderableImageOp

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

    • getSources

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

      public Object getProperty(String name)
      从此图像的属性集中获取属性。如果属性名称不被识别,将返回java.awt.Image.UndefinedProperty。
      指定者:
      getProperty 在接口 RenderableImage
      参数:
      name - 要获取的属性名称,作为String。
      返回:
      属性对象的引用,或值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 - 新的ParameterBlock。
      返回:
      旧的ParameterBlock。
      参见:
    • getParameterBlock

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

      public RenderedImage createScaledRendering(int w, int h, RenderingHints hints)
      创建一个具有宽度w和高度h的像素的此图像的RenderedImage实例。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)
      创建一个表示此RenderableImageOp(包括其Renderable源)根据给定的RenderContext进行渲染的RenderedImage。

      此方法支持Renderable或RenderedImage操作的链接。如果用于构造RenderableImageOp的ParameterBlock中的源是RenderableImages,则将执行三个步骤:

      1. 对每个RenderableImage源调用关联CRIF的mapRenderContext();
      2. 使用步骤1中获得的反向映射的RenderContext调用每个RenderableImage源的createRendering(),从而得到每个源的渲染;
      3. 使用包含RenderableImageOp参数和通过createRendering()调用创建的RenderedImages的新ParameterBlock调用ContextualRenderedImageFactory.create()。

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

      创建的RenderedImage可能具有由字符串HINTS_OBSERVED标识的属性,指示用于创建图像的RenderingHints(来自RenderContext)。此外,通过在创建的RenderedImage的getSources()方法上获取的任何RenderedImages可能具有此类属性。

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