【问题标题】:Is it possible to capture the screen and save the image in actionscript 3?是否可以捕获屏幕并将图像保存在 actionscript 3 中?
【发布时间】:2010-06-12 04:28:28
【问题描述】:

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

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

提前致谢。

【问题讨论】:

  • 为什么你接受了你自己的(不正确的)答案,尽管 Juan 确实正确地回答了这个问题?
  • 因为我没有找到任何允许直接保存到磁盘的编码器,如果 Juan 或任何人将我指向编码器的方向或执行我解释的任何解决方案(没有服务器端脚本只涉及flash 10 播放器和 AS3 脚本)我会接受这个答案。

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


【解决方案1】:

是的,这是可能的。

将一些显示对象绘制到 BitmapData(例如舞台)并在必要时对其进行裁剪(BitmapData::draw 的第二个参数将在此处帮助您)。

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

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

由于这是一个桌面应用程序,您也可以将其设为 AIR 应用程序。如果您需要,这将提供对文件系统和其他功能的更直接访问。

【讨论】:

    【解决方案2】:

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

    【讨论】:

      【解决方案3】:

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

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2021-12-09
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2015-12-18
        • 2012-03-26
        • 2021-02-01
        相关资源
        最近更新 更多