swf到jpg使用actionscript

时间:2009-06-17 18:04:34

标签: flash

是否可以使用actionscript将swf转换为图像。

1 个答案:

答案 0 :(得分:2)

你的问题需要更多细节。所以我会做一些假设。

我假设您要拍摄SWF当前状态的快照,然后将其保存为图像文件。您没有告诉我们您要保存图片的位置,例如在服务器上,在用户本地机器上,或者甚至将它保存在闪存等中,所以我无法真正帮助你。

获取SWF的快照非常容易。你想要的是BitmapData类。这个功能应该有帮助。只需将它传递给DisplayObject(可以是舞台),它就会返回BitmapData对象。

function snapClip(clip:DisplayObject):BitmapData
{
    var bmpData:BitmapData = new BitmapData(stage.width, stage.height, true, 0);
    bmpData.draw( clip, new Matrix() );
    return bmpData;
}

var bmpData:BitmapData = snapClip( stage );

从那里你可以将BitmapData添加到舞台上,如下所示:

var mc:MovieClip = new MovieClip();
mc.addChild( new Bitmap(bmpData) );
addChild(mc);

或者您可以将BitmapData编码为JPEG格式:

import com.adobe.images.JPGEncoder;
var jpgEncoder:JPGEncoder = new JPGEncoder(85);
var jpgStream:ByteArray = jpgEncoder.encode(bmpData);

从这里,要将其保存到服务器,您需要将byteArray发送到可以处理保存的服务器端脚本。

以下是一些可能有用的链接: