我正在使用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)。
答案 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;
}