Module java.desktop
Package java.awt.font

Class FontRenderContext

java.lang.Object
java.awt.font.FontRenderContext

public class FontRenderContext extends Object
FontRenderContext类是一个容器,用于正确测量文本所需的信息。文本的测量可能会有所不同,因为规则将轮廓映射到像素,并且应用程序提供了渲染提示。

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

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

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

参见:
  • Constructor Summary

    Constructors
    Modifier
    Constructor
    Description
    protected
    构造一个新的FontRenderContext对象。
     
    FontRenderContext(AffineTransform tx, boolean isAntiAliased, boolean usesFractionalMetrics)
    从可选的AffineTransform和两个boolean值构造一个FontRenderContext对象,这些值确定新构造的对象是否具有抗锯齿或分数度量。
     
    从可选的AffineTransform和两个Object值构造一个FontRenderContext对象,这些值确定新构造的对象是否具有抗锯齿或分数度量。
  • Method Summary

    Modifier and Type
    Method
    Description
    boolean
    如果rhs具有与此相同的变换、抗锯齿和分数度量值,则返回true。
    boolean
    equals(Object obj)
    如果obj是FontRenderContext的一个实例,并且具有与此相同的变换、抗锯齿和分数度量值,则返回true。
    返回此FontRenderContext中使用的文本抗锯齿渲染模式提示。
    返回此FontRenderContext中使用的文本分数度量渲染模式提示。
    获取用于在此FontRenderContext中将排版点缩放为像素的变换。
    int
    返回此FontRenderContext的仿射变换的整数类型,如AffineTransform.getType()所指定。
    int
    为此FontRenderContext返回一个哈希码。
    boolean
    返回一个布尔值,指示此FontRenderContext是否指定了某种形式的抗锯齿。调用getAntiAliasingHint()以获取特定的渲染提示值。
    boolean
    指示此FontRenderContext对象是否在转换的渲染上下文中测量文本。
    boolean
    返回一个布尔值,指示此FontRenderContext是否使用文本分数度量模式。调用getFractionalMetricsHint()以获取相应的渲染提示值。

    Methods declared in class java.lang.Object

    clone, finalize, getClass, notify, notifyAll, toString, wait, wait, wait
  • Constructor Details

    • FontRenderContext

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

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

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

      参数:
      tx - 用于在此FontRenderContext中将排版点缩放为像素的变换。如果为null,则使用身份变换。
      isAntiAliased - 确定新构造的对象是否具有抗锯齿。
      usesFractionalMetrics - 确定新构造的对象是否具有分数度量。
    • FontRenderContext

      public FontRenderContext(AffineTransform tx, Object aaHint, Object fmHint)
      从可选的AffineTransform和两个Object值构造一个FontRenderContext对象,这些值确定新构造的对象是否具有抗锯齿或分数度量。
      参数:
      tx - 用于在此FontRenderContext中将排版点缩放为像素的变换。如果为null,则使用身份变换。
      aaHint - 在java.awt.RenderingHints中定义的文本抗锯齿渲染提示值之一。任何其他值都将抛出IllegalArgumentExceptionVALUE_TEXT_ANTIALIAS_DEFAULT可以指定,此时使用的模式是依赖于实现的。
      fmHint - 在java.awt.RenderingHints中定义的文本分数度量渲染提示值之一。VALUE_FRACTIONALMETRICS_DEFAULT可以指定,此时使用的模式是依赖于实现的。任何其他值都将抛出IllegalArgumentException
      抛出:
      IllegalArgumentException - 如果提示值不是合法值之一。
      自:
      1.6
  • Method Details

    • isTransformed

      public boolean isTransformed()
      指示此FontRenderContext对象是否在转换的渲染上下文中测量文本。
      返回:
      如果此FontRenderContext对象具有非身份AffineTransform属性,则返回true。否则返回false
      自:
      1.6
      参见:
    • getTransformType

      public int getTransformType()
      返回此FontRenderContext的仿射变换的整数类型,如AffineTransform.getType()所指定。
      返回:
      变换的类型。
      自:
      1.6
      参见:
    • getTransform

      public AffineTransform getTransform()
      获取用于在此FontRenderContext中将排版点缩放为像素的变换。
      返回:
      FontRenderContextAffineTransform
      参见:
    • isAntiAliased

      public boolean isAntiAliased()
      返回一个布尔值,指示此FontRenderContext是否指定了某种形式的抗锯齿。调用getAntiAliasingHint()以获取特定的渲染提示值。
      返回:
      如果在此FontRenderContext中文本是抗锯齿的,则返回true;否则返回false
      参见:
    • usesFractionalMetrics

      public boolean usesFractionalMetrics()
      返回一个布尔值,指示此FontRenderContext是否使用文本分数度量模式。调用getFractionalMetricsHint()以获取相应的渲染提示值。
      返回:
      如果在此FontRenderContext中应该执行布局以使用分数度量,则返回true;否则返回false
      参见:
    • 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。
      覆盖:
      equals 在类 Object
      参数:
      obj - 要测试是否相等的对象
      返回:
      如果指定的对象等于此FontRenderContext,则返回true; 否则返回false
      参见:
    • equals

      public boolean equals(FontRenderContext rhs)
      如果rhs具有与此相同的变换、抗锯齿和分数度量值,则返回true。
      参数:
      rhs - 要测试是否相等的FontRenderContext
      返回:
      如果rhs等于此FontRenderContext,则返回true; 否则返回false
      自 JDK 版本:
      1.4
    • hashCode

      public int hashCode()
      返回此FontRenderContext的哈希码。
      覆盖:
      hashCode 在类 Object
      返回:
      此对象的哈希码值。
      参见: