ActionScript中的消除锯齿的htmlText?

时间:2010-06-23 16:21:21

标签: flash actionscript-3

我基本上和bder on the actionscript.org forums有同样的问题,即如果我使用嵌入字体(Myriad Pro)将其分配给TextField的htmlText属性并设置样式,我可以让我的文本消除锯齿用CSS。

一切正常,文本嵌入和样式(字体是我想要的,并且所有变体 - 粗体,斜体 - 都正确显示),除了它看起来很糟糕,即没有消除锯齿。当然,我已经尝试将antyAliasType和gridFitType属性设置为所有可能的组合。有什么想法吗?

哦,我也尝试编写与代码here完全相同的代码,但是也没有用,不知道为什么。

谢谢。

2 个答案:

答案 0 :(得分:0)

实际上我今天早上做了一些使用和嵌入字体的东西,因此很容易测试和查看,是的,当我将text属性更改为文本字段的htmlText属性为< a href ='{{3 }}'>< U>谷歌< / U>< / A>它产生了一个下划线链接,它的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);

如果您有任何问题,请与我们联系。

答案 1 :(得分:0)

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;

我希望这可以让别人头疼。