Module  java.desktop
软件包  java.awt.font

Class FontRenderContext



  • public class FontRenderContext
    extends Object
    FontRenderContext类是用于正确测量文本所需信息的容器。 文本的测量可能因为将轮廓映射到像素的规则以及应用程序提供的提示而有所不同。

    一个这样的信息是将印刷点缩放到像素的变换。 (一个点被定义为正好1/72英寸,与一点的传统机械测量略有不同)。在600dpi设备上以12pt渲染的字符可能与提供的相同字符的大小不同在72dpi设备上的12pt,因为诸如四舍五入到像素边界和字体设计者可能指定的提示等因素。

    应用程序指定的抗锯齿和分数度量也可能会影响字符的大小,因为四舍五入到像素边界。

    通常, FontRenderContext实例是从Graphics2D对象获得的。 直接构造的FontRenderContext很可能不代表任何实际的图形设备,并可能导致意外或不正确的结果。

    另请参见:
    RenderingHints.KEY_TEXT_ANTIALIASINGRenderingHints.KEY_FRACTIONALMETRICSGraphics2D.getFontRenderContext()LineMetrics
    • 构造方法详细信息

      • FontRenderContext

        protected FontRenderContext​()
        构造一个新的 FontRenderContext对象。
      • FontRenderContext

        public FontRenderContext​(AffineTransform tx,
                                 boolean isAntiAliased,
                                 boolean usesFractionalMetrics)
        从可选的AffineTransform和两个boolean值构造一个FontRenderContext对象,确定新构造的对象是否具有抗锯齿或小数度量。 在每种情况下,布尔值truefalse对应于呈现提示值ONOFF

        要指定其他提示值,请使用将渲染提示值指定为参数的构造函数: FontRenderContext(AffineTransform, Object, Object)

        参数
        tx - 用于将排印点缩放到像素的变换FontRenderContext 如果为空,则使用身份转换。
        isAntiAliased - 确定新构造的对象是否具有抗锯齿。
        usesFractionalMetrics - 确定新构建的对象是否具有小数度量。
      • FontRenderContext

        public FontRenderContext​(AffineTransform tx,
                                 Object aaHint,
                                 Object fmHint)
        从可选的AffineTransform和两个Object值构造一个FontRenderContext对象,以确定新构造的对象是否具有抗锯齿或小数度量。
        参数
        tx - 用于将排印点缩放到像素的变换FontRenderContext 如果为空,则使用身份转换。
        aaHint - - java.awt.RenderingHints定义的文本抗锯齿渲染提示值之一。 任何其他值将抛出IllegalArgumentException 可以指定VALUE_TEXT_ANTIALIAS_DEFAULT ,在这种情况下,所使用的模式取决于实现。
        fmHint - - java.awt.RenderingHints定义的文本分数渲染提示值之一。 可以指定VALUE_FRACTIONALMETRICS_DEFAULT ,在这种情况下,所使用的模式取决于实现。 任何其他值将抛出IllegalArgumentException
        异常
        IllegalArgumentException - 如果提示不是合法价值之一。
        从以下版本开始:
        1.6
    • 方法详细信息

      • isTransformed

        public boolean isTransformed​()
        指示此 FontRenderContext对象是否测量转换的渲染上下文中的文本。
        结果
        true如果此FontRenderContext对象具有非身份的AffineTransform属性。 否则为false
        从以下版本开始:
        1.6
        另请参见:
        getTransform()
      • getTransformType

        public int getTransformType​()
        为这将返回仿射的整数类型的变换 FontRenderContext如通过指定 AffineTransform.getType()
        结果
        转换的类型。
        从以下版本开始:
        1.6
        另请参见:
        AffineTransform
      • getTransform

        public AffineTransform getTransform​()
        获取用于将排印点缩放到像素的变换( FontRenderContext
        结果
        AffineTransformFontRenderContext
        另请参见:
        AffineTransform
      • getAntiAliasingHint

        public Object getAntiAliasingHint​()
        返回这个FontRenderContext使用的文本反锯齿渲染模式提示。 这将是java.awt.RenderingHints定义的文本抗锯齿渲染提示值之一。
        结果
        文本抗锯齿渲染模式提示在这个 FontRenderContext
        从以下版本开始:
        1.6
      • getFractionalMetricsHint

        public Object getFractionalMetricsHint​()
        返回此FontRenderContext使用的文本小数度量渲染模式提示。 这将是java.awt.RenderingHints定义的文本分数度量渲染提示值之一。
        结果
        在这个 FontRenderContext使用的文本分数度量渲染模式提示。
        从以下版本开始:
        1.6
      • equals

        public boolean equals​(Object obj)
        如果obj是FontRenderContext的一个实例,并且具有与此相同的转换,抗锯齿和小数度量值,则返回true。
        重写:
        equalsObject
        参数
        obj - 要测试相等的对象
        结果
        true如果指定的对象等于这个FontRenderContext ; 否则为false
        另请参见:
        Object.hashCode()HashMap
      • equals

        public boolean equals​(FontRenderContext rhs)
        如果rhs具有相同的变换,抗锯齿和小数度量值,则返回true。
        参数
        rhs - FontRenderContext测试平等
        结果
        true如果rhs等于这个FontRenderContext ; 否则为false
        从以下版本开始:
        1.4