適用於 Adobe® Flash® Platform 的 ActionScript® 3.0 參考
首頁  |  隱藏套件和類別清單 |  套件  |  類別  |  新增內容  |  索引  |  附錄  |  為什麼顯示英文?
篩選: 從伺服器擷取資料...
從伺服器擷取資料...
flash.text 

TextRenderer  - AS3

套件flash.text
類別public final class TextRenderer
繼承TextRenderer Inheritance Object

語言版本: ActionScript 3.0
執行階段版本: AIR 1.0, Flash Player 9

TextRenderer 類別提供嵌入字體之進階消除鋸齒的功能。 進階消除鋸齒可呈現超高品質的小字體外觀。 在含有許多小型文字的應用程式中請使用進階消除鋸齒。 Adobe 不建議針對非常大的字體 (大於 48 點) 使用進階消除鋸齒功能。 只有在 Flash Player 8 和更新版本中,才能使用進階消除鋸齒功能。

若要設定文字欄位的進階消除鋸齒功能,請設定 TextField 實體的 antiAliasType 屬性:

進階消除鋸齒提供持續性地筆畫調整 (CSM),它會持續的調整筆畫粗細和邊緣清晰度。 您可以使用 setAdvancedAntiAliasingTable() 方法做為定義指定字樣和字體大小設定的進階功能。

檢視範例

相關 API 元素



公用屬性
 屬性定義自
 Inheritedconstructor : Object
類別物件的參照或是特定物件實體的建構函數。
Object
  displayMode : String
[靜態] 會控制進階消除鋸齒文字的顯示。
TextRenderer
  maxLevel : int
[靜態] 進階消除鋸齒的「適合取樣距離欄位」(Adaptively Sampled Distance Fields,ADFs) 品質等級。
TextRenderer
公用方法
 方法定義自
 Inherited
指出物件是否有已定義的指定屬性。
Object
 Inherited
指出 Object 類別的實體是否位於指定為參數的物件原型鏈中。
Object
 Inherited
指出指定的屬性是否存在,以及是否可列舉。
Object
  
setAdvancedAntiAliasingTable(fontName:String, fontStyle:String, colorType:String, advancedAntiAliasingTable:Array):void
[靜態] 設定字體的自訂持續地筆畫調整 (CSM) 查閱資料表。
TextRenderer
 Inherited
為迴圈作業設定動態屬性的可用性。
Object
 Inherited
傳回代表此物件的字串,根據地區特定慣例進行格式化。
Object
 Inherited
會傳回指定之物件的字串形式。
Object
 Inherited
會傳回指定之物件的基本值。
Object
屬性詳細資訊

displayMode

屬性
displayMode:String

語言版本: ActionScript 3.0
執行階段版本: AIR 1.0, Flash Player 9

會控制進階消除鋸齒文字的顯示。 文字的視覺品質是非常主觀的,儘管 Flash Player 會嘗試對各種狀況使用最佳設定,設計者卻可能會針對其文字選擇不同的感覺或外觀。 而且,使用 displayMode 也允許設計者覆寫 Flash Player 的子像素選擇,並建立與使用者硬體無關的視覺一致性。 請使用 TextDisplayMode 類別中的值來設定這個屬性。

預設值為 "default"。



實作
    public static function get displayMode():String
    public static function set displayMode(value:String):void

相關 API 元素

maxLevel

屬性 
maxLevel:int

語言版本: ActionScript 3.0
執行階段版本: AIR 1.0, Flash Player 9

進階消除鋸齒的「適合取樣距離欄位」(Adaptively Sampled Distance Fields,ADFs) 品質等級。 可接受的值僅為 3、4 或 7。

進階消除鋸齒使用 ADFs 代表決定文字的外框。 品質越高,就需要越多 ADF 結構的快取空間。 值為 3 時,需要的記憶體量最少,且提供的品質最低。 較大的字體需要較多的快取空間;字體大小為 64 像素的話,品質等級就會從 3 增加到 4,或是從 4 增加到 7 (除非等級已經設為 7)。

預設值為 4。



實作
    public static function get maxLevel():int
    public static function set maxLevel(value:int):void
方法詳細資訊

setAdvancedAntiAliasingTable

()方法
public static function setAdvancedAntiAliasingTable(fontName:String, fontStyle:String, colorType:String, advancedAntiAliasingTable:Array):void

語言版本: ActionScript 3.0
執行階段版本: AIR 1.0, Flash Player 9

設定字體的自訂持續地筆畫調整 (CSM) 查閱資料表。 Flash Player 會嘗試偵測您字體的最佳 CSM。 如果不想使用 Flash Player 提供的 CSM,您可以使用 setAdvancedAntiAliasingTable() 方法自訂您自己的 CSM。

參數

fontName:String — 您正要對其套用設定的字體名稱。
 
fontStyle:String — 使用來自 flash.text.FontStyle 類別之其中一個值所指出的字體樣式。
 
colorType:String — 這個值會決定筆畫為深色或淺色。 請使用來自 flash.text.TextColorType 類別的其中一個值。
 
advancedAntiAliasingTable:Array — 指定之字體的一個或多個 CSMSettings 物件的陣列。 每個物件都包含下列項屬性:
  • fontSize
  • insideCutOff
  • outsideCutOff

advancedAntiAliasingTable 陣列可包含多個項目,這些項目都會指定不同字體大小的 CSM 設定。

fontSize 是設定套用的大小,以像素為單位。

進階消除鋸齒會使用「適合取樣距離欄位」(Adaptively Sampled Distance Fields,ADFs) 代表決定文字的外框。 Flash Player 會使用裁除外圍值 (outsideCutOff),其下的密度設定為 0,以及裁除內圈值 (insideCutOff),其上的密度設定為最大密度值 (如 255)。 在這兩個裁除值之間,對應功能為線性曲線,範圍從裁除外圍的 0 到裁除內圈的最大密度。

調整裁除外圍和裁除內圈值會影響筆畫寬度和邊緣清晰度。 這兩個參數之間的間距是傳統消除鋸齒方法的濾鏡半徑的兩倍;較窄的間距提供較清晰的邊緣,較寬的間距則提供具有更多濾鏡效果的柔化邊緣。 當間距為 0 時,產生的密度影像為雙色階點陣圖。 當間距很寬時,產生的密度影像會有水彩效果般的邊緣。

一般而言,字體大小較小時,使用者會比較喜歡清晰、高對比的邊緣,而對於動畫文字和較大的字體大小來說,使用者喜歡柔化的邊緣。

通常裁除外圍的值是負的,而裁除內圈的值通常是正的,它們的中間點通常接近 0。 調整這些參數的方式是,將中間點向負無限大移動會增加筆畫寬度;將中間點向正無限大移動會減少筆畫寬度。 請確定裁除外圍值一律會小於或等於裁除內圈值。

相關 API 元素

TextRendererExample2.as

下列範例會建立 TextRendererExample 類別,以大型和小型字體來示範進階消除鋸齒設定的視覺化範例。 在測試此範例前,您必須先嵌入字體。 如果您要使用 Flex,請以下列方式嵌入字體:
  1. 將 Georgia 字體 (名為 georgia.ttf) 與此 AS 檔案放在同一個目錄中。
  2. 將下列幾行直接加在類別定義下方:
  3. [Embed(source="georgia.ttf", fontFamily="Georgia")]
  4. private var embeddedFont:String;
如果您要使用 Flash,請以下列方式嵌入字體:
  1. 將文字欄位放置在舞台上,並選取該文字欄位。
  2. 在「屬性」檢測器中,將該文字欄位的字體設定為 Georgia。
  3. 在「屬性」檢測器中,按下「內嵌字體...」並選取「全部」。

注意:

  • 在編譯 SWF 檔時,您必須將「本機播放安全性」設定為「只存取本機檔案」。

package {
    import flash.display.DisplayObject;
    import flash.display.Sprite;
    import flash.events.*;
    import flash.text.*;
    
    public class TextRendererExample2 extends Sprite {

        private var gutter:int = 10;

        public function TextRendererExample2() {
            createTextField(8,AntiAliasType.NORMAL);
            createTextField(8,AntiAliasType.ADVANCED);
            createTextField(24,AntiAliasType.NORMAL);
            createTextField(24,AntiAliasType.ADVANCED);
        }
            
        private function createTextField(fontSize:Number,antiAliasType:String):TextField {
            var tf:TextField = new TextField();
            tf.embedFonts = true;
            tf.autoSize = TextFieldAutoSize.LEFT;
            tf.antiAliasType = antiAliasType;
            tf.defaultTextFormat = getTextFormat(fontSize);
            tf.selectable = false;
            tf.mouseEnabled = true;
            tf.text = "The quick brown fox jumped over the lazy dog.";
            if(numChildren > 0) {
                var sibling:DisplayObject = getChildAt(numChildren - 1);
                tf.y = sibling.y + sibling.height + gutter;
            }
            addChild(tf);
            return tf;
        }
        
        private function getTextFormat(fontSize:Number):TextFormat {
            var format:TextFormat = new TextFormat();
            format.size = fontSize;
            format.font = "Georgia";
            return format;
        }
    }
}




[ X ]為什麼顯示英文?
「ActionScript 3.0 參考」的內容是以英文顯示

並非所有「ActionScript 3.0 參考」的內容都翻譯為所有語言。當語言元素未翻譯時,就會以英文顯示。例如,ga.controls.HelpBox 類別並沒有翻譯為任何語言。因此在參考的繁體中文版本中,ga.controls.HelpBox 類別就會以英文顯示。