Javascript截取flash对象的截图

时间:2010-10-20 01:08:21

标签: javascript html flash image-processing

基本上我想做的是:

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

我希望能够使用javascript

拍摄该游戏的打印屏幕

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

2 个答案:

答案 0 :(得分:3)

如果您同时控制主页和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);
}

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

另一方面,如果你不控制flash电影(例如,如果你想创建一个主持第三方Flash游戏的网站),那么你运气不好,你需要的是不可行的单独的javaScript,它只能通过使用浏览器插件/扩展来实现。

答案 1 :(得分:0)

如果是您的游戏和您的网站(换句话说,如果您可以修改它们),请尝试以下方法:

http://danielmclaren.net/2008/03/use-javascript-to-take-a-screenshot-of-a-flash-movie