用于 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
[静态] 高级消除锯齿功能的自适应采样距离字段 (ADF) 的品质级别。
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

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

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

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

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

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

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

相关 API 元素

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. 在“属性”检查器中,按“嵌入...”并选择“全部”

注意:

  • 您需要编译 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 类显示为英语。