Module  java.desktop

Class RenderContext

  • All Implemented Interfaces:
    Cloneable


    public class RenderContext
    extends Object
    implements Cloneable
    RenderContext封装了从RenderableImage生成特定渲染所需的信息。 它包含要以渲染独立的术语指定的要渲染的区域,要执行渲染的分辨率以及用于控制渲染过程的提示。

    用户创建RenderContexts并通过createRendering方法将其传递给RenderableImage。 RenderContexts的大部分方法并不意味着被应用程序直接使用,而是由它所传递的RenderableImage和操作符类。

    传入和传出此类的AffineTransform参数被克隆。 RenderingHints和Shape参数不一定是可克隆的,因此仅被引用复制。 更改由RenderContext实例使用的RenderingHints或Shape实例可能会有不良副作用。

    • 构造方法详细信息

      • RenderContext

        public RenderContext​(AffineTransform usr2dev,
                             Shape aoi,
                             RenderingHints hints)
        构造具有给定变换的RenderContext。 感兴趣区域作为Shape提供,渲染提示作为RenderingHints对象提供。
        参数
        usr2dev - AffineTransform。
        aoi - 表示感兴趣区域的形状。
        hints - 包含渲染提示的RenderingHints对象。
      • RenderContext

        public RenderContext​(AffineTransform usr2dev)
        构造具有给定变换的RenderContext。 感兴趣的区域被认为是整个可渲染区域。 没有使用渲染提示。
        参数
        usr2dev - AffineTransform。
      • RenderContext

        public RenderContext​(AffineTransform usr2dev,
                             RenderingHints hints)
        构造一个具有给定变换和渲染提示的RenderContext。 感兴趣的区域被认为是整个可渲染区域。
        参数
        usr2dev - AffineTransform。
        hints - 包含渲染提示的RenderingHints对象。
      • RenderContext

        public RenderContext​(AffineTransform usr2dev,
                             Shape aoi)
        构造一个具有给定变换和感兴趣区域的RenderContext。 感兴趣的区域作为形状提供。 没有使用渲染提示。
        参数
        usr2dev - AffineTransform。
        aoi - 表示感兴趣区域的形状。
    • 方法详细信息

      • getRenderingHints

        public RenderingHints getRenderingHints​()
        获取这个 RenderContext的渲染提示。
        结果
        一个 RenderingHints对象,表示这个 RenderContext的渲染提示。
        另请参见:
        setRenderingHints(RenderingHints)
      • setRenderingHints

        public void setRenderingHints​(RenderingHints hints)
        设置这个 RenderContext的渲染提示。
        参数
        hints - 一个 RenderingHints对象,表示要分配给此 RenderContext的呈现提示。
        另请参见:
        getRenderingHints()
      • setTransform

        public void setTransform​(AffineTransform newTransform)
        将RenderContext中包含的当前用户到设备的AffineTransform设置为给定的转换。
        参数
        newTransform - 新的AffineTransform。
        另请参见:
        getTransform()
      • preConcatenateTransform

        public void preConcatenateTransform​(AffineTransform modTransform)
        通过前置另一个变换来修改当前的用户到设备的变换。 在矩阵表示法中,操作是:
          [this] = [modTransform] x [this] 
        参数
        modTransform - 将AffineTransform添加到当前的usr2dev转换中。
        从以下版本开始:
        1.3
      • preConcetenateTransform

        @Deprecated
        public void preConcetenateTransform​(AffineTransform modTransform)
        已过时。 替换为preConcatenateTransform(AffineTransform)
        通过前置另一个变换来修改当前的用户到设备的变换。 在矩阵表示法中,操作是:
          [this] = [modTransform] x [this] 
        该方法与preConcatenateTransform方法相同。 这是为了向后兼容以前的版本,拼写方法名称。
        参数
        modTransform - 将AffineTransform添加到当前的usr2dev转换中。
      • concatenateTransform

        public void concatenateTransform​(AffineTransform modTransform)
        通过附加另一个转换来修改当前的用户到设备的转换。 在矩阵表示法中,操作是:
          [this] = [this] x [modTransform] 
        参数
        modTransform - AffineTransform附加到当前的usr2dev转换。
        从以下版本开始:
        1.3
      • concetenateTransform

        @Deprecated
        public void concetenateTransform​(AffineTransform modTransform)
        已过时。 替换为concatenateTransform(AffineTransform)
        通过附加另一个转换来修改当前的用户到设备的转换。 在矩阵表示法中,操作是:
          [this] = [this] x [modTransform] 
        此方法与concatenateTransform方法相同。 这是为了向后兼容以前的版本,拼写方法名称。
        参数
        modTransform - AffineTransform附加到当前的usr2dev转换。
      • setAreaOfInterest

        public void setAreaOfInterest​(Shape newAoi)
        设置当前感兴趣的区域。 旧区被丢弃。
        参数
        newAoi - 感兴趣的新领域
        另请参见:
        getAreaOfInterest()
      • getAreaOfInterest

        public Shape getAreaOfInterest​()
        获取当前包含在RenderContext中的兴趣。
        结果
        引用RenderContext的感兴趣区域,如果没有指定,则返回null。
        另请参见:
        setAreaOfInterest(Shape)
      • clone

        public Object clone​()
        制作RenderContext的副本。 感兴趣的区域通过引用复制。 usr2dev AffineTransform和提示是克隆的,而感兴趣的区域是通过引用复制的。
        重写:
        cloneObject
        结果
        新克隆的RenderContext。
        另请参见:
        Cloneable