模块 java.desktop

类 FontRenderContext

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

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

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

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

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

参见:
  • 构造方法详细信息

    • FontRenderContext

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

      public FontRenderContext(AffineTransform  tx, boolean isAntiAliased, boolean usesFractionalMetrics)
      从一个可选的 AffineTransform 和两个 boolean 值构造一个 FontRenderContext 对象,以确定新构造的对象是否具有抗锯齿或小数指标。在每种情况下,boolean 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 中定义的文本抗锯齿渲染提示值之一。任何其他值都会抛出 IllegalArgumentExceptionVALUE_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
      参见:
    • getTransformType

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

      public AffineTransform  getTransform()
      获取用于将印刷点缩放到此 FontRenderContext 中的像素的变换。
      返回:
      这个FontRenderContextAffineTransform
      参见:
    • isAntiAliased

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

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

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

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