是否可以捕获屏幕并将图像保存在动作脚本3中?

时间:2010-06-12 04:28:29

标签: flash actionscript-3 image desktop-application screenshot

我需要捕获当前在我的应用中显示的内容并将其保存为图像,是一个在本地运行的Flash应用程序,没有apache,只是一个带有AS3的Flash应用程序,是否可能?

我见过很多解决方案谷歌搜索,但都需要一个网络服务器,这个应用程序作为桌面应用程序运行。

提前致谢。

3 个答案:

答案 0 :(得分:3)

是的,这是可能的。

将一些显示对象绘制到BitmapData(例如舞台)并在必要时裁剪它(BitmapData :: draw的第二个参数将帮助你在这里)。

然后,使用某个编码器将原始像素数据转换为JPEG或PNG。我确信到目前为止,这些教程将解释你如何做。

现在,第三步不同但很简单。不使用FileReference对象将图像数据发送到服务器端脚本。自Flash Player 10以来,它有一个名为save的方法,它提示用户在本地保存文件。

由于这是一款桌面应用,您还可以将其设为AIR应用。这样可以更直接地访问文件系统和其他功能,以备不时之需。

答案 1 :(得分:0)

经过数小时的研究,这看起来似乎不可能对Flash播放器进行一些安全限制。 所有方法都需要一些服务器端脚本来完成它。 越接近我需要的是this 但它需要apache或类似的,所以在独立的Flash应用程序中似乎无法做到

答案 2 :(得分:0)

有一个辅助类可以获取DisplayObjects图形的当前可视状态(实际上,任何实现IBitmapRenderer的东西)并将其保存为位图数据。该课程为mx.graphics.ImageSnapshot