java.lang.Object java.awt.font.FontRenderContext
public class FontRenderContext
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 |
构造方法详细信息 |
---|
protected FontRenderContext()
FontRenderContext
对象。
public FontRenderContext(AffineTransform tx, boolean isAntiAliased, boolean usesFractionalMetrics)
AffineTransform
和两个
boolean
值构造一个
FontRenderContext
对象,这两个 boolean 值确定新构造的对象是否具有 anti-aliasing 或 fractional metrics 属性。在任何情况下,boolean 值
true
和
false
分别对应于呈现提示值
ON
和
OFF
。
要指定其他提示值,请使用将呈现提示值指定为参数的构造方法: FontRenderContext(AffineTransform, Object, Object)
。
tx
- 用于在此
FontRenderContext
中将印刷点缩放为像素的转换。如果该参数为 null,则使用恒等转换。
isAntiAliased
- 确定新构造的对象是否具有 anti-aliasing 属性。
usesFractionalMetrics
- 确定新构造的对象是否具有 fractional metrics 属性。
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
- 如果提示不是一个合法值。
方法详细信息 |
---|
public boolean isTransformed()
FontRenderContext
对象是否需要考虑已转换的呈现上下文中的文本。
FontRenderContext
对象具有非等同 AffineTransform 属性,则返回
true
。否则返回
false
。
getTransform()
public int getTransformType()
FontRenderContext
的仿射转换的整数类型,该类型由
AffineTransform.getType()
指定。
AffineTransform
public AffineTransform getTransform()
FontRenderContext
中将印刷点缩放为像素的转换。
FontRenderContext
的
AffineTransform
AffineTransform
public boolean isAntiAliased()
FontRenderContext
指定。对于特定呈现提示值,可以调用
getAntiAliasingHint()
。
FontRenderContext
中的文本是抗锯齿的,则返回
true
;否则返回
false
。
RenderingHints.KEY_TEXT_ANTIALIASING
,
FontRenderContext(AffineTransform,boolean,boolean)
,
FontRenderContext(AffineTransform,Object,Object)
public boolean usesFractionalMetrics()
FontRenderContext
中使用文本 fractional metrics 模式。可以调用
getFractionalMetricsHint()
来获得对应的呈现提示值。
FontRenderContext
中的布局应使用 fractional metrics 来执行,则返回
true
;否则返回
false
。
RenderingHints.KEY_FRACTIONALMETRICS
,
FontRenderContext(AffineTransform,boolean,boolean)
,
FontRenderContext(AffineTransform,Object,Object)
public Object getAntiAliasingHint()
FontRenderContext
中使用的文本 anti-aliasing 呈现模式提示。该值将是
java.awt.RenderingHints
中定义的文本抗锯齿呈现提示值之一。
FontRenderContext
中使用的文本 anti-aliasing 呈现模式提示。
public Object getFractionalMetricsHint()
FontRenderContext
中使用的文本 fractional metrics 呈现模式提示。该值将是
java.awt.RenderingHints
中定义的文本 fractional metrics 呈现提示值之一。
FontRenderContext
中使用的文本 fractional metrics 呈现模式提示。
public boolean equals(Object obj)
obj
- 要测试其相等性的对象
FontRenderContext
相等,则返回
true
;否则返回
false
。
Object.hashCode()
,
Hashtable
public boolean equals(FontRenderContext rhs)
rhs
- 要测试其相等性的
FontRenderContext
rhs
与此
FontRenderContext
相等,则返回
true
;否则返回
false
。
public int hashCode()
Object.equals(java.lang.Object)
,
Hashtable