java.lang.Objectjava.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