0

に文字列を描画する関数がありますBitmapData。問題は、TextFormat指定が画像に書かれたテキストに影響しないことです。テキスト形式で指定したサイズ、フォントは一切使用しておりません。

function drawString(target:BitmapData,text:String,color:uint,x:Number,y:Number):void {
        var channelName:TextField = new TextField();

        channelName.textColor=color;
        channelName.antiAliasType = AntiAliasType.ADVANCED;
        channelName.alpha=1.0;

        var txtFormat:TextFormat = new TextFormat("Verdana",25,color,true);
        txtFormat.size=Number(25);
        txtFormat.font="Verdana";
        txtFormat.bold=true;
        channelName.setTextFormat(txtFormat);
        channelName.text = text;

        channelName.defaultTextFormat = txtFormat;
        channelName.cacheAsBitmap = true;
        channelName.width=400;

        var mat:Matrix = new Matrix();
        mat.translate(x,y);
        target.draw(channelName,mat);

    }

上に描画されるテキストのフォントとサイズをカスタマイズするにはどうすればよいBitmapDataですか?

4

2 に答える 2

0

テキスト形式を設定する前に text プロパティを設定してみてください - setTextFormat(...) または defaultTextFormat = ... 両方を使用しないでください

また、これらの行も削除できます。

//does the same thing as new TextFormat("Verdana",25,color,true)
txtFormat.size=Number(25);
txtFormat.font="Verdana";
txtFormat.bold=true;

//only useful if you add textField to the display list (ie: if you did addChild(channelName)
channelName.cacheAsBitmap = true;
于 2013-04-10T18:39:28.823 に答える