java.lang.Object
java.awt.font.FontRenderContext
FontRenderContext
类是一个容器,用于正确测量文本所需的信息。文本的测量可能会有所不同,因为规则将轮廓映射到像素,并且应用程序提供了渲染提示。
其中一个信息是一个变换,将排版点缩放为像素。(一个点被定义为恰好是英寸的1/72,这与传统的机械点的测量略有不同。)在600dpi设备上以12pt渲染的字符可能与在72dpi设备上以12pt渲染的相同字符大小不同,因为存在诸如舍入到像素边界和字体设计者可能指定的提示等因素。
应用程序指定的抗锯齿和分数度量也可能影响字符的大小,因为会舍入到像素边界。
通常,FontRenderContext
的实例是从一个Graphics2D
对象中获取的。直接构造的FontRenderContext
很可能不代表任何实际的图形设备,可能会导致意外或不正确的结果。
- 参见:
-
Constructor Summary
ModifierConstructorDescriptionprotected
构造一个新的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 TypeMethodDescriptionboolean
equals
(FontRenderContext rhs) 如果rhs具有与此相同的变换、抗锯齿和分数度量值,则返回true。boolean
如果obj是FontRenderContext的一个实例,并且具有与此相同的变换、抗锯齿和分数度量值,则返回true。返回此FontRenderContext
中使用的文本抗锯齿渲染模式提示。返回此FontRenderContext
中使用的文本分数度量渲染模式提示。获取用于在此FontRenderContext
中将排版点缩放为像素的变换。int
返回此FontRenderContext
的仿射变换的整数类型,如AffineTransform.getType()
所指定。int
hashCode()
为此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的哈希码。
-