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

时间:2014-09-30 08:56:12

标签: android ios actionscript-3 flash air

我正在使用LeeBurrows / Async-Image-Encoders库将影片剪辑保存到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,50,400,600)。

1 个答案:

答案 0 :(得分:0)

使用像这样的裁剪功能。

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;
}