4

我正在为我在这里处理 Flash 字体和文本字段的最新问题寻找正确的文本字段参数或解决方法。

我有一个 textFormat 和 textField 使用 Font: Franklin Gothic Book point size 8 生成一些文本。目前这是我运行电影时字体的外观:

替代文字
(来源:flickr.com

底部的 ®MYLOGO 是来自 Photoshop 的 jpg,干净,看起来应该如何。接下来是在 Flash 中直接在舞台上键入的字体,最上面的 ®MYLOGO 是由我的代码生成的。

为了使代码生成的副本看起来尽可能接近 Jpeg,我缺少哪些参数?

我的代码如下:

var tsFont = new TextFormat();
    tsFont.font = FranklinGothic;
    tsFont.size = 8;
    tsFont.color = 0xFFFFFF;
    tsFont.align = TextFormatAlign.LEFT;

var tsLogo:TextField = new TextField();
    tsLogo.defaultTextFormat = tsFont;
    tsLogo.selectable = false;
    tsLogo.mouseEnabled = false;
    tsLogo.x = 18;
    tsLogo.y = 98;
    tsLogo.width = 64;
    tsLogo.height = 16;
    tsLogo.text = "®MYLOGO";

    addChild(tsLogo);

你们可能还记得我上一个问题X_x中的这段代码


固定工作核心:感谢Andy Li

var tsFont = new TextFormat();
    tsFont.font = (new FranklinGothic() as Font).fontName;
    tsFont.size = 8;
    tsFont.color = 0xFFFFFF;
    tsFont.align = TextFormatAlign.LEFT;

var tsLogo:TextField = new TextField();
    tsLogo.selectable        = false;
    tsLogo.mouseEnabled      = false;
    tsLogo.embedFonts        = true;
    tsLogo.antiAliasType     = flash.text.AntiAliasType.NORMAL;
    tsLogo.gridFitType       = "pixel";
    tsLogo.sharpness         = 400
    tsLogo.x                 = 6;
    tsLogo.y                 = 5;
    tsLogo.width             = 600;
    tsLogo.height            = 40;
    tsLogo.text              = "®MYLOGO";
    tsLogo.setTextFormat(tsFont)

图形示例:

普通的

替代文字

先进的

替代文字

4

3 回答 3

2

尝试添加此代码:

tsLogo.antiAliasType = flash.text.AntiAliasType.NORMAL;

或者

tsLogo.antiAliasType = flash.text.AntiAliasType.ADVANCED;

于 2009-10-20T15:52:51.400 回答
2

在 Flash 中控制文本渲染有时会很痛苦……

您需要玩转几个属性:antiAliasType, gridFitType, sharpness,thicknessTextField. 试试Adob​​e 的例子。或者更详细的教程

于 2009-10-20T15:56:37.423 回答
1

是的,请确保您检查别名,但如果没有这样做,我会尝试调用:

tsLogo.setTextFormat(tsFont)

在你设置文本之后。该函数会将字体应用于字段中的文本。

于 2009-10-20T15:56:25.713 回答