是否可以使用actionscript将swf转换为图像。
答案 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发送到可以处理保存的服务器端脚本。
以下是一些可能有用的链接: