如何在 BitmapData 上绘制字符串,是否有类似 Java 的 Graphics.drawString() 之类的东西?
最佳答案
在 Actionscript 中,我认为最自然的处理方式是使用诸如 Sprite
之类的容器。并使用它进行绘图 graphics
对象和/或添加其他显示对象作为子对象。然后,您可以在/如有必要时拍摄“快照”以获取像素数据。
添加文本,创建 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));
关于actionscript-3 - 如何在 BitmapData 上绘制字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3435543/