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() 方法定义特定字体和字体大小的设置。

查看示例

另请参见

flash.text.TextField.antiAliasType


公共属性
 属性定义方
 Inheritedconstructor : Object
对类对象或给定对象实例的构造函数的引用。
Object
  displayMode : String
[静态] 控制高级消除锯齿文本的呈现。
TextRenderer
  maxLevel : int
[静态] 高级消除锯齿功能的自适应采样距离字段 (ADF) 的品质级别。
TextRenderer
 Inheritedprototype : Object
[静态] 对类或函数对象的原型对象的引用。
Object
公共方法
 方法定义方
 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
属性详细信息
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 function set displayMode(value:String):void

另请参见

maxLevel属性 
maxLevel:int  [读写]

语言版本: ActionScript 3.0
运行时版本: AIR 1.0 Flash Player 9

高级消除锯齿功能的自适应采样距离字段 (ADF) 的品质级别。可接受的值只有 3、4 和 7。

高级消除锯齿功能使用 ADF 表示确定字型的轮廓。品质越高,ADF 结构所需的缓存空间越多。值 3 需要的内存量最小,提供的品质也最低。字体越大,所需的缓存空间越多;对于大小为 64 像素的字体,除非品质级别已设置为 7,否则品质级别将可从 3 增加到 4 或从 4 增加到 7

默认值为 4.



实现
    public static function get maxLevel():int
    public 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 是设置所应用的大小,以像素为单位。

高级消除锯齿功能使用自适应采样距离字段 (ADF) 表示确定字型的轮廓。Flash Player 使用外侧截止值 outsideCutOff(在该值之下密度设置为 0)和内侧截止值 insideCutOff(在该值之上密度设置为最大密度值(如 255))。在这两个截止值之间,映射函数是其范围从外侧截止处的 0 到内侧截止处最大密度的线性曲线。

调整外侧截止值和内侧截止值会影响笔触粗细和边缘清晰度。这两个参数之间的间距相当于典型消除锯齿方法的滤镜半径的两倍;较窄的间距提供的边缘更清晰,而较宽的间距提供更柔滑、经过更多过滤的边缘。当间距为 0 时,生成的密度图像为双层位图。在间距非常宽时,生成的密度图像具有类似水彩画的边缘。

通常,对于小磅值,用户首选清晰的、高对比边缘,对于动画文本和较大的磅值,用户首选较柔滑的边缘。

外侧截止通常具有负值,内侧截止通常具有正值,而它们的中点通常在 0 附近。通过调整这些参数以使中点向负无穷大移动,将增大笔触粗细;将中点向正无穷大移动将减小笔触粗细。请确保外侧截止值始终小于等于内侧截止值。

另请参见

示例 如何使用示例
TextRendererExample2.as

下面的示例创建 TextRendererExample 类,以演示对小号和大号字体大小应用高级消除锯齿设置的视觉示例。在测试该示例前,需要先嵌入字体。如果使用的是 Flex,则使用以下方法嵌入字体:
  1. 将名为 georgia.ttf 的 Georgia 字体放在与该 AS 文件相同的目录中。
  2. 在类定义下面直接添加以下代码行:
  3. [Embed(source="georgia.ttf", fontFamily="Georgia")]
  4. private var embeddedFont:String;
如果使用的是 Flash,则使用以下方法嵌入字体:
  1. 在舞台上放置一文本字段并将其选中。
  2. 在“属性”检查器中,将该文本字段的字体设置为 Georgia
  3. 在“属性”检查器中,按“嵌入...”并选择“全部”

注意:

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;
        }
    }
}