在Flex中的BitmapData上绘制文本

时间:2011-05-20 20:20:37

标签: flex bitmapdata

嗯,问题可能很简单,但我无法弄清楚。我有一个图像加载到BitmapData。现在我想从textinput中获取文本并将其放在BitmapData上。基本上它是在BitmapData上绘制文本并将结果作为另一个BitmapData获得,该BitmapData将包含原始BitmapData,并在指定位置上绘制文本。在flex中实现这一目标的最佳方法是什么?

2 个答案:

答案 0 :(得分:4)

要将文本放在位图中,您可以执行以下操作:

var channelName:TextField = new TextField();
channelName.textColor=0x000000;
channelName.antiAliasType = AntiAliasType.NORMAL;
channelName.alpha=1.0;
var txtFormat:TextFormat = new TextFormat("SansSerif",14,0x000000,true);
channelName.setTextFormat(txtFormat);

var bitmapdata:BitmapData = new BitmapData(
         channelName.width, channelName.height, true, 0x000000);
bitmapdata.draw(channelName);

答案 1 :(得分:0)

你不能按照说法绘制bitmapdata,但你可以从数据中创建它。由于您有BitmapData,因此很容易将其更改为位图(var bitmap:Bitmap = new Bitmap(bitmapData);),然后将其添加为图像的源。

现在你在舞台上有了一个实际的图像,你现在可以使用你喜欢的东西(文字,标签,文本区域等)在上面添加文字,然后你就可以在这个尺寸上做Bitmap.draw。 image将像素信息恢复为BitmapData(在Bitmap.bitmapData下)。