我在 Flash 中遇到了一个小的图形故障。它似乎在 FP9(通过 Flash CS3 导出)和 FP10(通过 Flex 4 beta SDK 导出)中。
故障/问题表现为在特定条件下以小点大小“绽放”的嵌入文本。它基本上看起来像抗锯齿在一定程度的文本亮度下变得更胖。我在下面做了一个小测试用例。(显然)您需要在编译的 SWF 中嵌入 Arial 字体才能使以下代码正常工作。
var myText:TextField = new TextField();
myText.embedFonts = true;
myText.antiAliasType = AntiAliasType.ADVANCED;
myText.autoSize = TextFieldAutoSize.LEFT;
var myFormat:TextFormat = myText.getTextFormat();
myFormat.size = 8;
myFormat.font = 'Arial';
myFormat.color = 0x663300;
myText.defaultTextFormat = myFormat;
myText.text = 'Bloom Example';
addChild(myText);
var composit:ColorTransform = new ColorTransform();
var timestamp:Number = getTimer();
function enterFrame (event:Event):void{
var n:Number = (getTimer() - timestamp) / 1000.0;
composit.redMultiplier = 1-n;
composit.greenMultiplier = 1-n;
composit.blueMultiplier = 1-n;
composit.redOffset = 250 * n;
composit.greenOffset = 250 * n;
composit.blueOffset = 0;
myText.transform.colorTransform = composit;
if ( n >= 1 ) removeEventListener(Event.ENTER_FRAME, enterFrame);
};
addEventListener(Event.ENTER_FRAME, enterFrame);
您可以通过在此处滚动图形元素来查看问题示例:http: //bandcamp.fieldsofnoise.org/dump/bloom.swf
更改为 AntiAliasType.NORMAL 并不是一个真正的选项,因为它使文本在这种点大小下的可读性降低。
任何帮助找到解决此问题的适当方法将不胜感激。