Module  java.desktop

Class RenderableImageOp

  • All Implemented Interfaces:
    RenderableImage


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

      • RenderableImageOp

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

      • getSources

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

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

        public String[] getPropertyNames​()
        返回由getProperty识别的名称列表。
        Specified by:
        getPropertyNames在接口 RenderableImage
        结果
        属性名称列表。
      • isDynamic

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

        public float getWidth​()
        获取用户坐标空间中的宽度。 按照惯例,RenderableImage的通常宽度等于图像的宽高比(宽度除以高度)。
        Specified by:
        getWidth在接口 RenderableImage
        结果
        用户坐标中图像的宽度。
      • getHeight

        public float getHeight​()
        获取用户坐标空间中的高度。 按照惯例,RenderedImage的通常高度等于1.0F。
        Specified by:
        getHeight在接口 RenderableImage
        结果
        用户坐标中图像的高度。
      • getMinX

        public float getMinX​()
        获取与渲染无关的图像数据的最小X坐标。
        Specified by:
        getMinX在接口 RenderableImage
        结果
        渲染无关图像数据的最小X坐标。
      • getMinY

        public float getMinY​()
        获取与渲染无关的图像数据的最小Y坐标。
        Specified by:
        getMinY在接口 RenderableImage
        结果
        渲染无关图像数据的最小Y坐标。
      • setParameterBlock

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

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

        如果w == 0,将被视为等于Math.round(h *(getWidth()/ getHeight()))。 类似地,如果h == 0,将被视为等于Math.round(w *(getHeight()/ getWidth()))。 w或h中的一个必须为非零,否则将抛出IllegalArgumentException。

        创建的RenderedImage可能具有由字符串HINTS_OBSERVED标识的属性,以指示哪个RenderingHint用于创建映像。 另外,通过创建的RenderedImage上的getSources()方法获得的任何RenderedImages可能具有这样的属性。

        Specified by:
        createScaledRendering在接口 RenderableImage
        参数
        w - 渲染图像的宽度,以像素为单位,或0。
        h - 渲染图像的高度,以像素为单位,或0。
        hints - 包含提示的RenderingHints对象。
        结果
        包含渲染数据的RenderedImage。
      • createDefaultRendering

        public RenderedImage createDefaultRendering​()
        获取此图像的RenderedImage实例,其默认宽度和高度(以像素为单位)。 RenderContext是通过适当的usr2dev变换和完整图像感兴趣的区域自动构建的。 所有渲染提示来自传递的提示。此接口的实现者必须确保有一个定义的默认宽度和高度。
        Specified by:
        createDefaultRendering在接口 RenderableImage
        结果
        包含渲染数据的RenderedImage。
      • createRendering

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

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

        1. 在每个RenderableImage源的关联CRIF上调用mapRenderContext();
        2. 使用在步骤1中获得的向后映射的RenderContext,在每个RenderableImage源上调用createRendering(),导致每个源的呈现;
        3. ContextualRenderedImageFactory.create()被调用一个新的ParameterBlock,它包含由createRendering()调用创建的RenderableImageOp和RenderedImages的参数。

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

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

        Specified by:
        createRendering在接口 RenderableImage
        参数
        renderContext - 用于执行渲染的RenderContext。
        结果
        包含所需输出图像的RenderedImage。