模块  java.desktop
软件包  java.awt.font

Class FontRenderContext


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

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

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

    通常, 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像素的FontRenderContext 如果为null,则使用标识变换。
        isAntiAliased - 确定新构造的对象是否具有抗锯齿。
        usesFractionalMetrics - 确定新构造的对象是否具有小数度量。
      • FontRenderContext

        public FontRenderContext​(AffineTransform tx,
                                 Object aaHint,
                                 Object fmHint)
        根据可选的AffineTransform和两个Object值构造FontRenderContext对象,以确定新构造的对象是否具有抗锯齿或小数度量标准。
        参数
        tx - 此变换用于将印刷点缩放到此FontRenderContext像素。 如果为null,则使用标识变换。
        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 ,用于将印刷点缩放到此 FontRenderContext像素。
        结果
        AffineTransform这个 FontRenderContext
        另请参见:
        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的实例并且具有与此相同的transform,antialiasing和fractional metrics值,则返回true。
        重写:
        equals在课程 Object
        参数
        obj - 要测试相等性的对象
        结果
        true如果指定的对象等于此FontRenderContext ; 否则为false
        另请参见:
        Object.hashCode()HashMap
      • equals

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