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 回答