JavaTM Platform
Standard Ed. 6

java.awt.font
类 FontRenderContext

java.lang.Object
  继承者 java.awt.font.FontRenderContext

public class FontRenderContext
extends Object

FontRenderContext 类是正确测量文本所需的信息容器。因为将轮廓映射到像素的规则不同,而且应用程序提供的呈现提示不同,所以文本的测量也有所不同。

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

应用程序指定的 Anti-aliasing 和 Fractional-metrics 也可能因为舍入到像素边界而影响字符的大小。

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

另请参见:
RenderingHints.KEY_TEXT_ANTIALIASING, RenderingHints.KEY_FRACTIONALMETRICS, Graphics2D.getFontRenderContext(), LineMetrics

构造方法摘要
protected FontRenderContext()
          构造一个新 FontRenderContext 对象。
  FontRenderContext(AffineTransform tx, boolean isAntiAliased, boolean usesFractionalMetrics)
          根据可选的 AffineTransform 和两个 boolean 值构造一个 FontRenderContext 对象,这两个 boolean 值确定新构造的对象是否具有 anti-aliasing 或 fractional metrics 属性。
  FontRenderContext(AffineTransform tx, Object aaHint, Object fmHint)
          根据一个可选 AffineTransform 和两个 Object 值构造一个 FontRenderContext 对象,这两个值决定了新创建的对象是具有 anti-aliasing 属性,还是具有 fractional metrics 属性。
 
方法摘要
 boolean equals(FontRenderContext rhs)
          如果 rhs 具有与此 FontRenderContext 相同的转换、antialiasing 和 fractional metrics 值,则返回 true。
 boolean equals(Object obj)
          如果 obj 是 FontRenderContext 的一个实例,并且具有与此 FontRenderContext 相同的转换、antialiasing 和 fractional metrics 值,则返回 true。
 Object getAntiAliasingHint()
          返回此 FontRenderContext 中使用的文本 anti-aliasing 呈现模式提示。
 Object getFractionalMetricsHint()
          返回此 FontRenderContext 中使用的文本 fractional metrics 呈现模式提示。
 AffineTransform getTransform()
          获取用于在此 FontRenderContext 中将印刷点缩放为像素的转换。
 int getTransformType()
          返回此 FontRenderContext 的仿射转换的整数类型,该类型由 AffineTransform.getType() 指定。
 int hashCode()
          返回此 FontRenderContext 的哈希码。
 boolean isAntiAliased()
          返回一个 boolean 值,指示是否某些形式的抗锯齿由此 FontRenderContext 指定。
 boolean isTransformed()
          指示此 FontRenderContext 对象是否需要考虑已转换的呈现上下文中的文本。
 boolean usesFractionalMetrics()
          返回一个 boolean 值,指示是否在此 FontRenderContext 中使用文本 fractional metrics 模式。
 
从类 java.lang.Object 继承的方法
clone, finalize, getClass, notify, notifyAll, toString, wait, wait, wait
 

构造方法详细信息

FontRenderContext

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


FontRenderContext

public FontRenderContext(AffineTransform tx,
                         boolean isAntiAliased,
                         boolean usesFractionalMetrics)
根据可选的 AffineTransform 和两个 boolean 值构造一个 FontRenderContext 对象,这两个 boolean 值确定新构造的对象是否具有 anti-aliasing 或 fractional metrics 属性。在任何情况下,boolean 值 truefalse 分别对应于呈现提示值 ONOFF

要指定其他提示值,请使用将呈现提示值指定为参数的构造方法: FontRenderContext(AffineTransform, Object, Object)

参数:
tx - 用于在此 FontRenderContext 中将印刷点缩放为像素的转换。如果该参数为 null,则使用恒等转换。
isAntiAliased - 确定新构造的对象是否具有 anti-aliasing 属性。
usesFractionalMetrics - 确定新构造的对象是否具有 fractional metrics 属性。

FontRenderContext

public FontRenderContext(AffineTransform tx,
                         Object aaHint,
                         Object fmHint)
根据一个可选 AffineTransform 和两个 Object 值构造一个 FontRenderContext 对象,这两个值决定了新创建的对象是具有 anti-aliasing 属性,还是具有 fractional metrics 属性。

参数:
tx - 用于在此 FontRenderContext 中将印刷点缩放为像素的转换。如果该参数为 null,则使用恒等转换。
aaHint - - java.awt.RenderingHints 中定义的文本抗锯齿呈现提示值之一。其他任何值都将抛出 IllegalArgumentException。可以指定 VALUE_TEXT_ANTIALIAS_DEFAULT,在这种情况下,使用的模式与实现有关。
fmHint - - java.awt.RenderingHints 中定义的文本碎片 (text fractional) 呈现提示值之一。可以指定 VALUE_FRACTIONALMETRICS_DEFAULT,在这种情况下,使用的默认与实现有关。其他任何值都将抛出 IllegalArgumentException
抛出:
IllegalArgumentException - 如果提示不是一个合法值。
从以下版本开始:
1.6
方法详细信息

isTransformed

public boolean isTransformed()
指示此 FontRenderContext 对象是否需要考虑已转换的呈现上下文中的文本。

返回:
如果此 FontRenderContext 对象具有非等同 AffineTransform 属性,则返回 true。否则返回 false
从以下版本开始:
1.6
另请参见:
getTransform()

getTransformType

public int getTransformType()
返回此 FontRenderContext 的仿射转换的整数类型,该类型由 AffineTransform.getType() 指定。

返回:
转换的类型。
从以下版本开始:
1.6
另请参见:
AffineTransform

getTransform

public AffineTransform getTransform()
获取用于在此 FontRenderContext 中将印刷点缩放为像素的转换。

返回:
FontRenderContextAffineTransform
另请参见:
AffineTransform

isAntiAliased

public boolean isAntiAliased()
返回一个 boolean 值,指示是否某些形式的抗锯齿由此 FontRenderContext 指定。对于特定呈现提示值,可以调用 getAntiAliasingHint()

返回:
如果此 FontRenderContext 中的文本是抗锯齿的,则返回 true;否则返回 false
另请参见:
RenderingHints.KEY_TEXT_ANTIALIASING, FontRenderContext(AffineTransform,boolean,boolean), FontRenderContext(AffineTransform,Object,Object)

usesFractionalMetrics

public boolean usesFractionalMetrics()
返回一个 boolean 值,指示是否在此 FontRenderContext 中使用文本 fractional metrics 模式。可以调用 getFractionalMetricsHint() 来获得对应的呈现提示值。

返回:
如果在此 FontRenderContext 中的布局应使用 fractional metrics 来执行,则返回 true;否则返回 false
另请参见:
RenderingHints.KEY_FRACTIONALMETRICS, FontRenderContext(AffineTransform,boolean,boolean), FontRenderContext(AffineTransform,Object,Object)

getAntiAliasingHint

public Object getAntiAliasingHint()
返回此 FontRenderContext 中使用的文本 anti-aliasing 呈现模式提示。该值将是 java.awt.RenderingHints 中定义的文本抗锯齿呈现提示值之一。

返回:
FontRenderContext 中使用的文本 anti-aliasing 呈现模式提示。
从以下版本开始:
1.6

getFractionalMetricsHint

public Object getFractionalMetricsHint()
返回此 FontRenderContext 中使用的文本 fractional metrics 呈现模式提示。该值将是 java.awt.RenderingHints 中定义的文本 fractional metrics 呈现提示值之一。

返回:
FontRenderContext 中使用的文本 fractional metrics 呈现模式提示。
从以下版本开始:
1.6

equals

public boolean equals(Object obj)
如果 obj 是 FontRenderContext 的一个实例,并且具有与此 FontRenderContext 相同的转换、antialiasing 和 fractional metrics 值,则返回 true。

覆盖:
Object 中的 equals
参数:
obj - 要测试其相等性的对象
返回:
如果指定的对象与此 FontRenderContext 相等,则返回 true;否则返回 false
另请参见:
Object.hashCode(), Hashtable

equals

public boolean equals(FontRenderContext rhs)
如果 rhs 具有与此 FontRenderContext 相同的转换、antialiasing 和 fractional metrics 值,则返回 true。

参数:
rhs - 要测试其相等性的 FontRenderContext
返回:
如果 rhs 与此 FontRenderContext 相等,则返回 true;否则返回 false
从以下版本开始:
1.4

hashCode

public int hashCode()
返回此 FontRenderContext 的哈希码。

覆盖:
Object 中的 hashCode
返回:
此对象的一个哈希码值。
另请参见:
Object.equals(java.lang.Object), Hashtable

JavaTM Platform
Standard Ed. 6

提交错误或意见
有关更多的 API 参考资料和开发人员文档,请参阅 Java SE 开发人员文档。该文档包含更详细的、面向开发人员的描述,以及总体概述、术语定义、使用技巧和工作代码示例。

版权所有 2007 Sun Microsystems, Inc. 保留所有权利。 请遵守许可证条款。另请参阅文档重新分发政策