我基本上和bder on the actionscript.org forums有相同的问题,即如果我的文本使用嵌入字体(Myriad Pro)将其分配给TextField的htmlText属性并使用CSS设置样式,是否可以对文本进行抗锯齿处理。
文本嵌入和样式设置一切正常(字体就是我想要的字体,它的所有变化--粗体、斜体--都能正确显示),只是看起来很糟糕,也就是没有消除锯齿。当然,我已经尝试将antyAliasType和gridFitType属性设置为所有可能的组合。有什么想法吗?
哦,我也试着像示例here一样编写代码,但也不能工作,不知道为什么。
谢谢。
发布于 2010-06-24 09:49:55
This thread帮了忙。诀窍是将一个TextFormat实例(具有正确的默认字体)分配给TextField实例的defaultTextFormat属性。所以整个代码变成了
var tf : TextField = new TextField();
tf.selectable = false;
tf.width = w;
tf.height = h;
tf.autoSize = TextFieldAutoSize.LEFT;
tf.antiAliasType = AntiAliasType.ADVANCED;
tf.gridFitType = GridFitType.PIXEL;
tf.wordWrap = true;
tf.multiline = true;
tf.embedFonts = true;
var tff : TextFormat = new TextFormat();
tff.font = "Myriad Pro";
tf.defaultTextFormat = tff;
tf.styleSheet = _styles;
我希望这不会让人头疼。
发布于 2010-06-23 16:38:43
实际上,我今天早上刚做了一个使用和嵌入字体的东西,所以很容易测试和查看,是的,当我将textfield的htmlText属性改为google时,它会产生一个下划线链接,并将antiAliasType设置为AntiAliasType.ADVANCED。
唯一的问题是我使用的是TextFormat而不是CSS。
我的代码是
var myFont:Font = new Font1();
quote = new TextField();
quote.selectable = false;
quote.embedFonts = true;
quote.antiAliasType = flash.text.AntiAliasType.ADVANCED;
quote.htmlText = "<a href='http://www.google.com/'><u>google</u></a>";
tf = new TextFormat();
tf.font = myFont.fontName;
tf.size = 24;
tf.color = 0xffffff;
tf.align = "center";
quote.setTextFormat(tf);
如果你有任何问题,请告诉我。
https://stackoverflow.com/questions/3103493
复制相似问题