Javascript 截取 Flash 对象的屏幕截图

标签 javascript html flash image-processing

基本上我想做的是:

我在页面上有一个 flash 游戏(例如 pacman)

我希望能够使用 javascript 打印该游戏的屏幕

这可能吗?我知道我可以将游戏 swf 包含在另一个 swf 中并使用 flash 捕获屏幕截图,但我需要它在 javascript 中完成。这可能吗?

最佳答案

如果您同时控制主机页面和 flash 影片,那么您可以在 flash 中生成屏幕截图,然后将其简单地发送到 javaScript,然后在 javaScript 中用它做任何您需要的事情。

在 ActionScript 中:

import flash.external.ExternalInterface;
ExternalInterface.call("showBase64Image", generateBase64Screenshot());
// see this Mario Klingenmann's file for ideas how to do that http://www.quasimondo.com/archives/000572.php

然后在 javaScript 中:

function showBase64Image(base64data) {
    var img = document.createElement('img');
    img.src = base64data;
    document.body.appendChild(img);
}

附言不要忘记为嵌入式 Flash allowScriptAccess,以允许 Flash 影片访问您页面上的 javaScript(如果 Flash 影片是由第 3 方制作的,这绝对是不明智的)。

另一方面,如果您不控制 Flash 电影(例如,如果您想制作一个将托管第 3 方 Flash 游戏的网站),那么您就不走运了,您需要的是无法实现的单独使用 javaScript,并且只能通过使用浏览器插件/扩展来实现。

关于Javascript 截取 Flash 对象的屏幕截图,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3974044/

相关文章:

javascript - 如何访问 JavaScript 正则表达式中的匹配组?

java - 在 Java 中解码十六进制 NCR

javascript - 使用此 HTML/Javascript/CSS 生成随机字符串?

Flash IDE 到 AS3 的路径

javascript - $location.Path 不在 iphone 上运行

javascript - 如何在 SuiteScript 2.0 中的创建模式下重定向到自定义记录?

javascript - 在 jQuery 中复制多个元素值并在后面附加文本

html - 为包含 "或 %22 的 url 返回什么 HTTP 响应代码?

flash - 如何在 AVM2 字节码中找到方法?

actionscript-3 - 定义 fl.controls :Label could not be found