在bitmapdata上有一个克隆函数:
public class EZB2ParkObject extends Image implements IEZB2ParkObject { public function clone():IEZB2ParkObject{ var n:IEZB2ParkObject = new EZB2ParkObject(); n.id = this.id; n.source = new Bitmap(BitmapData(this.source.bitmapData).clone()); n.dimensions = this.dimensions; n.assetId = this.assetId; return n; } }
而不是克隆你可以获得绘图的图像,并将图像的位图设置为历史图像的源,做这样的事情
private function getBitmapData( target:DisplayObject ) : BitmapData { //target.width and target.height can also be replaced with a fixed number. var bd : BitmapData = new BitmapData( target.width, target.height ); bd.draw( target ); return bd; }
在某些情况下,如果目标的宽度和高度不起作用,您可以使用getbounds方法获取对象的边界,并从边界获取宽度和高度。