基本上我想做的是:
我在页面上有一个Flash游戏(例如pacman)
我希望能够使用javascript
拍摄该游戏的打印屏幕有可能吗?我知道我可以将游戏swf包含在另一个swf中并使用flash捕获屏幕截图,但我需要在javascript中完成。这有可能吗?
答案 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