0

テキストフィールドを描画するビットマップデータがあります。スケーリング後、テキストは歪みます。私は次のコードを使用しています:

// tf is text Field and bm is bitmap.
var tf:TextField = new TextField();
tf.text = "Hello world";
var bd:BitmapData = new BitmapData(200, 200, true, 0x00ff00);
bd.draw(tf);
var bm:Bitmap = new Bitmap(bd);
addChild(bm);
bm.scaleX = 2;
bm.scaleY = 2;

私を案内してください。

4

2 に答える 2

1

アップスケールされたテキスト フィールド (またはその他のベクター グラフィックス オブジェクト) を BitmapData に描画するには、変換マトリックスを使用する必要があります。

var mat:Matrix=new Matrix();
mat.scale(2.0,2.0);
bd.draw(tf,mat);
于 2013-04-09T10:47:19.147 に答える
0

まず、フォントサイズを大きくしてから、ビットマップのように変換してスケーリングします。

//---- Text format ----
var textFormat:TextFormat = new TextFormat();
textFormat.font = "Arial";
//textFormat.bold = true;
textFormat.size = 40;
//---------------------------------------------

//
var tf:TextField = new TextField();
tf.text = "Hello world";
/*tf.antiAliasType = AntiAliasType.ADVANCED;
tf.gridFitType = GridFitType.PIXEL;
tf.thickness = 0;
tf.sharpness = 0;*/
tf.setTextFormat(textFormat);
//

//
var bd:BitmapData = new BitmapData(200,200,true,0x00ff00);
bd.draw(tf);
var bm:Bitmap = new Bitmap(bd);
bm.smoothing = true;
addChild(bm);

bm.scaleX = 2;
bm.scaleY = 2;

幸運。

于 2013-04-09T10:47:12.063 に答える