繼承關係
java.awt.font類 FontRenderContextjava.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 值 true 和 false 分別對應於呈現提示值 ON 和 OFF。要指定其他提示值,請使用將呈現提示值指定為參數的構造方法: 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 AffineTransformgetTransform()獲取用於在此 FontRenderContext 中將印刷點縮放為像素的轉換。返回:此 FontRenderContext 的 AffineTransform
另請參見: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 ObjectgetAntiAliasingHint()返回此 FontRenderContext 中使用的文本 anti-aliasing 呈現模式提示。該值將是 java.awt.RenderingHints 中定義的文本抗鋸齒呈現提示值之一。返回:此 FontRenderContext 中使用的文本 anti-aliasing 呈現模式提示。
從以下版本開始:1.6
getFractionalMetricsHint
public ObjectgetFractionalMetricsHint()返回此 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