0
var dt : Date = new Date();
var jpg:JPEGEncoder= new JPEGEncoder;
var ba:ByteArray = jpg.encode(parentDocument.newBitmapData);    
file.save(ba,'Screenshot at'+dt.time+'.jpg');

我必须以不同的尺寸保存图像

例如:800x600、640x480 等

4

1 回答 1

2

您可以在编码之前缩放 bitmapData:

    var bd800x600:BitmapData = new BitmapData(800, 600);
    bd800x600.perlinNoise(10, 10, 8, 21, true, true);

    var newW:int = 640;
    var newH:int = 480;

    var bd640x480:BitmapData = new BitmapData(newW, newH);
    var mt:Matrix = new Matrix();
    mt.scale(newW/bd800x600.width, newH/bd800x600.height);
    bd640x480.draw(bd800x600, mt);

而不是使用您的代码来保存缩放的位图数据。

于 2013-04-04T06:57:06.963 回答