1. Adobe 官方:
控制清晰度、粗细和消除锯齿
默认情况下,在文本调整大小、更改颜色或在不同背景上显示时,Flash Player 或 AIR 可以确定文本显示控件的设置(如清晰度、粗细和消除锯齿)。在某些情况下,如文本很小、很大或显示在各种特别的背景上时,您可能需要保持对这些设置的控制。可以使用 flash.text.TextRenderer 类及其相关类(如 CSMSettings 类)来覆盖 Flash Player 或 AIR 的设置。使用这些类可以精确控制嵌入文本的呈示品质。有关嵌入字体的详细信息,请参阅使用嵌入字体。
注: 为了设置清晰度、粗细或 gridFitType 属性,或者使用
TextRenderer.setAdvancedAntiAliasingTable() 方法,
flash.text.TextField.antiAliasType 属性的值必须是
AntiAliasType.ADVANCED。
以下示例使用名为 myFont
的嵌入字体对显示的文本应用自定义连续笔触调制 (CSM) 属性和格式设置。用户单击显示的文本时,Flash Player 或 Adobe AIR 会应用自定义设置:
var format:TextFormat = new TextFormat();
format.color = 0x336699;
format.size = 48;
format.font = "myFont";
var myText:TextField = new TextField();
myText.embedFonts = true;
myText.autoSize = TextFieldAutoSize.LEFT;
myText.antiAliasType = AntiAliasType.ADVANCED;
myText.defaultTextFormat = format;
myText.selectable = false;
myText.mouseEnabled = true;
myText.text = "Hello World";
addChild(myText);
myText.addEventListener(MouseEvent.CLICK, clickHandler);
function clickHandler(event:Event):void
{
var myAntiAliasSettings = new CSMSettings(48, 0.8, -0.8);
var myAliasTable:Array = new Array(myAntiAliasSettings);
TextRenderer.setAdvancedAntiAliasingTable("myFont", FontStyle.ITALIC, TextColorType.DARK_COLOR, myAliasTable);
}
2. 直接设置字体:
在Flex中加入如下代码:
<mx:Style>
@font-face {
src: local("Arial");
fontFamily: "ArialEmbedded";
}
</mx:Style>
或者在引用的CSS文件中加入:
@font-face {
src: local("Arial");
fontFamily: "ArialEmbedded";
}
然后在flex中需要抗锯齿效果的文字都采用Font=“ArialEmbedded”即可。可把Arial化成其他字体使用。