actionscript-3 - 如何在 BitmapData 上绘制字符串

标签 actionscript-3

如何在 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/

相关文章:

actionscript-3 - AS3-我的声音播放器似乎运作良好,但声音不存在

actionscript-3 - AS3在第一个音频文件完成播放后播放第二个音频文件

apache-flex - Flash/Flex 之外的 Actionscript 3

actionscript-3 - 如何确定面对顺时针或逆时针旋转的物体是否更快?

actionscript-3 - AS3 TextField 不应用 <b> 标签

apache-flex - AS3大型游戏性能随时间下降

actionscript-3 - 面向对象 : Bestish Practices: Getting two classes talking each other

actionscript-3 - AS3 中的 Mixin 或 Trait 实现?

actionscript-3 - AS3 Try Catch URL 加载器