2010-06-12 44 views
1

我需要捕获目前在我的应用程序中显示的内容,并将其保存为图像,是一个在本地运行的,不带apache的闪存应用程序,只是一个带AS3的闪存应用程序,有可能吗?是否有可能捕获屏幕并将图像保存到actionscript 3中?

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

在此先感谢。

+0

虽然Juan实际上正确回答了问题,但为什么您接受自己的(不正确)答案? – timrwood 2010-06-15 17:59:22

+0

因为我没有找到任何允许直接保存到磁盘的编码器,如果Juan或任何人指向我的编码器或任何解决方案的方向,我解释(没有服务器端脚本只涉及闪存10播放器和AS3脚本)我会接受这个答案。 – 2010-06-16 03:52:05

回答

3

是的,这是可能的。

得出一些显示对象为BitmapData(的阶段,例如),如果neccesary裁剪它(的BitmapData ::平局的第二PARAM将帮助你在这里)。

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

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

由于这是一个桌面应用程序,你也可以把它的AIR应用程序。这样可以更直接地访问文件系统和其他功能,以防您需要它们。

0

后的研究时间,这看起来像它的Flash播放器的一些安全限制的心不是可能的。 所有方法都需要一些服务器端脚本来完成。 什么,我需要的是越接近this 但因此它似乎是不可能在一个独立的Flash应用程序

0

有一个助手类,它可以抓住的DisplayObject图的当前可视状态做到这一点需要Apache或类似(实际上,任何实现IBitmapRenderer的东西)并将其保存为位图数据。那个班级是mx.graphics.ImageSnapshot

相关问题