java.lang.Object
java.awt.font.FontRenderContext
FontRenderContext类是一个容器,用于正确测量文本所需的信息。文本的测量可能会有所不同,因为规则将轮廓映射到像素,并且应用程序提供了渲染提示。
其中一个信息是一个变换,将排版点缩放为像素。(一个点被定义为恰好是英寸的1/72,这与传统的机械点的测量略有不同。)在600dpi设备上以12pt渲染的字符可能与在72dpi设备上以12pt渲染的相同字符大小不同,因为存在诸如舍入到像素边界和字体设计者可能指定的提示等因素。
应用程序指定的抗锯齿和分数度量也可能影响字符的大小,因为会舍入到像素边界。
通常,FontRenderContext的实例是从一个Graphics2D对象中获取的。直接构造的FontRenderContext很可能不代表任何实际的图形设备,可能会导致意外或不正确的结果。
- 参见:
-
Constructor Summary
ConstructorsModifierConstructorDescriptionprotected构造一个新的FontRenderContext对象。FontRenderContext(AffineTransform tx, boolean isAntiAliased, boolean usesFractionalMetrics) 从可选的AffineTransform和两个boolean值构造一个FontRenderContext对象,这些值确定新构造的对象是否具有抗锯齿或分数度量。FontRenderContext(AffineTransform tx, Object aaHint, Object fmHint) 从可选的AffineTransform和两个Object值构造一个FontRenderContext对象,这些值确定新构造的对象是否具有抗锯齿或分数度量。 -
Method Summary
Modifier and TypeMethodDescriptionbooleanequals(FontRenderContext rhs) 如果rhs具有与此相同的变换、抗锯齿和分数度量值,则返回true。boolean如果obj是FontRenderContext的一个实例,并且具有与此相同的变换、抗锯齿和分数度量值,则返回true。返回此FontRenderContext中使用的文本抗锯齿渲染模式提示。返回此FontRenderContext中使用的文本分数度量渲染模式提示。获取用于在此FontRenderContext中将排版点缩放为像素的变换。int返回此FontRenderContext的仿射变换的整数类型,如AffineTransform.getType()所指定。inthashCode()为此FontRenderContext返回一个哈希码。boolean返回一个布尔值,指示此FontRenderContext是否指定了某种形式的抗锯齿。调用getAntiAliasingHint()以获取特定的渲染提示值。boolean指示此FontRenderContext对象是否在转换的渲染上下文中测量文本。boolean返回一个布尔值,指示此FontRenderContext是否使用文本分数度量模式。调用getFractionalMetricsHint()以获取相应的渲染提示值。
-
Constructor Details
-
FontRenderContext
protected FontRenderContext()构造一个新的FontRenderContext对象。 -
FontRenderContext
从可选的AffineTransform和两个boolean值构造一个FontRenderContext对象,这些值确定新构造的对象是否具有抗锯齿或分数度量。在每种情况下,布尔值true和false对应于渲染提示值ON和OFF。要指定其他提示值,请使用指定渲染提示值作为参数的构造函数:
FontRenderContext(AffineTransform, Object, Object)。- 参数:
-
tx- 用于在此FontRenderContext中将排版点缩放为像素的变换。如果为null,则使用身份变换。 -
isAntiAliased- 确定新构造的对象是否具有抗锯齿。 -
usesFractionalMetrics- 确定新构造的对象是否具有分数度量。
-
FontRenderContext
从可选的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
-
-
Method Details
-
isTransformed
public boolean isTransformed()指示此FontRenderContext对象是否在转换的渲染上下文中测量文本。- 返回:
-
如果此
FontRenderContext对象具有非身份AffineTransform属性,则返回true。否则返回false。 - 自:
- 1.6
- 参见:
-
getTransformType
public int getTransformType()返回此FontRenderContext的仿射变换的整数类型,如AffineTransform.getType()所指定。- 返回:
- 变换的类型。
- 自:
- 1.6
- 参见:
-
getTransform
获取用于在此FontRenderContext中将排版点缩放为像素的变换。- 返回:
-
此
FontRenderContext的AffineTransform。 - 参见:
-
isAntiAliased
public boolean isAntiAliased()返回一个布尔值,指示此FontRenderContext是否指定了某种形式的抗锯齿。调用getAntiAliasingHint()以获取特定的渲染提示值。- 返回:
-
如果在此
FontRenderContext中文本是抗锯齿的,则返回true;否则返回false。 - 参见:
-
usesFractionalMetrics
public boolean usesFractionalMetrics()返回一个布尔值,指示此FontRenderContext是否使用文本分数度量模式。调用getFractionalMetricsHint()以获取相应的渲染提示值。- 返回:
-
如果在此
FontRenderContext中应该执行布局以使用分数度量,则返回true;否则返回false。 - 参见:
-
getAntiAliasingHint
返回此FontRenderContext中使用的文本抗锯齿渲染模式提示。这将是java.awt.RenderingHints中定义的文本抗锯齿渲染提示值之一。- 返回:
-
此
FontRenderContext中使用的文本抗锯齿渲染模式提示。 - 自:
- 1.6
-
getFractionalMetricsHint
返回此FontRenderContext中使用的文本分数度量渲染模式提示。这将是java.awt.RenderingHints中定义的文本分数度量渲染提示值之一。- 返回:
-
此
FontRenderContext中使用的文本分数度量渲染模式提示。 - 自:
- 1.6
-
equals
如果obj是FontRenderContext的一个实例,并且具有与此相同的变换、抗锯齿和分数度量值,则返回true。 -
equals
如果rhs具有与此相同的变换、抗锯齿和分数度量值,则返回true。- 参数:
-
rhs- 要测试是否相等的FontRenderContext - 返回:
-
如果
rhs等于此FontRenderContext,则返回true; 否则返回false。 - 自 JDK 版本:
- 1.4
-
hashCode
public int hashCode()返回此FontRenderContext的哈希码。
-