Module java.desktop

Interface ContextualRenderedImageFactory

所有超接口:
RenderedImageFactory

public interface ContextualRenderedImageFactory extends RenderedImageFactory
ContextualRenderedImageFactory提供了一个接口,用于可能在RenderableImageOp的实例之间有所不同的功能。因此,通过使用多个ContextualRenderedImageFactory的实例,可以由一个类(如RenderedImageOp)执行对RenderableImages的不同操作。ContextualRenderedImageFactory的名称通常缩写为"CRIF"。

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

实现此接口的类必须提供一个无参数的构造函数。

  • Method Details

    • mapRenderContext

      RenderContext mapRenderContext(int i, RenderContext renderContext, ParameterBlock paramBlock, RenderableImage image)
      将操作的输出RenderContext映射到操作的每个源的RenderContext。这对于可以简单地将操作表达为RenderContext中的整体或部分更改的操作(例如仿射映射)或希望以较低质量获取其源的渲染以节省处理工作量或传输带宽的操作非常有用。一些操作,例如模糊,也可以使用此机制避免获取比必要的更高质量的源。
      参数:
      i - 源图像的索引。
      renderContext - 应用于操作的RenderContext。
      paramBlock - 包含操作源和参数的ParameterBlock。
      image - 正在渲染的RenderableImage。
      返回:
      指定在指定的ParameterBlock中包含的参数Vector的索引处的源的RenderContext。
    • create

      RenderedImage create(RenderContext renderContext, ParameterBlock paramBlock)
      给定一个RenderContext和一个包含操作源和参数的ParameterBlock,创建一个渲染。输出是一个RenderedImage,考虑到RenderContext以确定其尺寸和在图像平面上的放置。此方法包含了允许渲染无关操作适应特定RenderContext的"智能"。
      参数:
      renderContext - 指定渲染的RenderContext
      paramBlock - 包含操作源和参数的ParameterBlock
      返回:
      从指定的ParameterBlock中的源和参数以及指定的RenderContext中的渲染指令创建一个RenderedImage。
    • getBounds2D

      Rectangle2D getBounds2D(ParameterBlock paramBlock)
      返回在给定一组源上执行的操作的输出的边界框,在与渲染无关的空间中。边界以Rectangle2D形式返回,即具有浮点角坐标的轴对齐矩形。
      参数:
      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