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