我正在使用LeeBurrows/Async-Image-Encoders库将影片剪辑保存到SD卡。我的影片剪辑大小是1080X1920。下面是我的代码:
myBitmapData = new BitmapData(1079, 1500, true, 0x00000000);
encoder = new AsyncPNGEncoder();
myBitmapData.draw(movieClip1);
encoder.start(myBitmapData, 40);代码运行良好,图像保存为1080X1920大小。而是如何保存电影剪辑的一部分。例如,从点(50,50)开始,大小为400X600,结果矩形为(50,50,400,600)。
发布于 2014-09-30 17:01:28
使用如下的裁剪函数。
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;
}https://stackoverflow.com/questions/26116651
复制相似问题