AS3:将movieclip的一部分保存为png



我正在使用LeeBrows/Async图像编码器库将电影剪辑保存到SD卡中。我的电影剪辑尺寸是1080 X 1920。这是我的代码:

        myBitmapData = new BitmapData(1079, 1500, true, 0x00000000);
        encoder = new AsyncPNGEncoder();
        myBitmapData.draw(movieClip1);
        encoder.start(myBitmapData, 40);

该代码运行良好,图像保存为1080 X 1920大小。但是如何保存电影剪辑的部分。例如,从点(50,50)开始,大小为400 X 600,结果矩形为(50,50400600)。

使用这样的裁剪函数。

public function crop( _x:Number, _y:Number, _width:Number, _height:Number, displayObject:DisplayObject = null):Bitmap
{
   var cropArea:Rectangle = new Rectangle( 0, 0, _width, _height );
   var croppedBitmap:Bitmap = new Bitmap( new BitmapData( _width, _height ), PixelSnapping.ALWAYS, true );
   croppedBitmap.bitmapData.draw( (displayObject!=null) ? displayObject : stage, new Matrix(1, 0, 0, 1, -_x, -_y) , null, null, cropArea, true );
   return croppedBitmap;
}

最新更新