var snapshot:ImageSnapshot = ImageSnapshot.captureImage(someSprite);
var file:FileReference = new FileReference();
file.save(snapshot.data,'abc.png');
在上面的代码中,我能够捕获图像。
但我也想对它应用scalingMatrix(用于zoomIn / Out)和剪切矩形。
怎么做?
我也尝试了 capturebitmapdata ,但是我甚至无法获得正确的图像。见here。所以我不想用它。
答案 0 :(得分:0)
sw = someSprite.stage.stageWidth;
sh = someSprite.stage.stageHeight;
var cr:Rectangle = new Rectangle(x,y,cw,ch);//you have to check that this clip rectangle should not overshoot your stage
//cr is the clip rectangle
var bmp:BitmapData = new BitmapData(sw,sh);
bmp.draw(someSprite,null,null,null,cr);
var bmp1:BitmapData = new BitmapData(cw,ch);
bmp1.copyPixels(bmp,cr,new Point(0,0));
var enc:JPEGEncoder = new JPEGEncoder();
var data:ByteArray = encoder.encode(bmd1);
new FileReference().save(data,'image.jpeg');
上面的代码允许您只绘制剪辑矩形内的部分。 在我的情况下,我不必考虑缩放矩阵,即使 我正在使用放大/缩小功能。