如何在BitmapData上绘制字符串,是否有类似Java的Graphics.drawString()?
在Actionscript中,我认为最自然的处理方法是使用容器,例如Sprite
使用它的graphics
对象和/或添加其他显示对象作为子对象.然后,您可以在必要时拍摄"快照",以获取像素数据.
要添加文本,创建a TextField
是最简单的选项.
无论如何,如果你愿意,你可以编写一个在现有BitmapData上执行此操作的小函数.这是一个如何编写这样一个函数的草图:
function drawString(target:BitmapData,text:String,x:Number,y:Number):void { var tf:TextField = new TextField(); tf.text = text; var bmd:BitmapData = new BitmapData(tf.width,tf.height); bmd.draw(tf); var mat:Matrix = new Matrix(); mat.translate(x,y); target.draw(bmd,mat); bmd.dispose(); } // use var bitmap:BitmapData = new BitmapData(400,400); // let's draw something first (whatever is on the stage at this point) bitmap.draw(stage); drawString(bitmap,"testing",100,50); // display the result... addChild(new Bitmap(bitmap));