flex:从swfloader中加载swf截取屏幕截图

时间:2009-12-27 17:08:44

标签: flex swfloader

我可以使用SWFLoader类从加载的swf中保存屏幕截图吗?

1 个答案:

答案 0 :(得分:3)

如果加载的swf已经在swfLoader中处于所需状态,你应该可以这样做

    var bitmapData:BitmapData =
        new BitmapData(swfLoader.content.width, swfLoader.content.height);
    bitmapData.draw(swfLoader);
    var bitmap:Bitmap = new Bitmap(bitmapData);
    var image:Image = new Image;
    image.source = bitmap;
    addChild(image);

这会将结果屏幕截图添加到应用程序的显示列表中。当然,如果要保存它,可以使用bitmapData并将其编码为PNG。你可以找到很多这方面的教程。如果您使用的是AIR,只需将其保存在用户的磁盘上即可。如果您的应用程序位于网页上,您可能需要一些服务器端支持来保存图像。