ActionScript 3 将显示对象绘制到位图数据中

示例

一个辅助函数,用于创建对象的位图副本。这可用于将矢量对象,文本或复杂的嵌套Sprite转换为平坦的位图。

function makeBitmapCopy(displayObj:IBitmapDrawable, transparent:Boolean = false, bgColor:uint = 0x00000000, smooth:Boolean = true):Bitmap {

    //创建一个与您要绘制的对象的宽度和高度匹配的空位图数据
    var bmd:BitmapData = new BitmapData(displayObj.width, displayObj.height, transparent, bgColor);
            
    //将对象绘制到位图数据
    bmd.draw(displayObj, null, null, null, null, smooth);
            
    //将该位图数据分配给位图对象
    var bmp:Bitmap = new Bitmap(bmd, "auto", smooth);
            
    return bmp;
}

用法:

var txt:TextField = new TextField();
txt.text = "Hello There";

var bitmap:Bitmap = makeBitmapCopy(txt, true); //第二个参数正确以保持透明度
addChild(bitmap);