javascript - 根据页面上的 SWF(Flash)元素创建图像? PHP/Jquery/Javascript/HTML/FLASH

标签 javascript jquery flash

是否可以将页面上的事件 SWF 元素“截屏”、“保存”或“捕获”为图像?我希望用户能够简单地单击页面上的按钮,而不必手动截取整个页面的屏幕截图,然后裁剪图像以仅显示 SWF 元素。

我找到了一个 Jquery 方法,尽管我不确定它是否可以处理 SWF 文件。它基本上捕获页面上图像元素的一个区域,并允许您将其保存为单独的图像。然而,我需要的是捕获 SWF 作为图像。注意:我无权访问 SWF 代码,因此无法使用 Actionscript 或类似的东西来实现此目的 - 它必须完全使用 PHP 和 Javascript 来完成。

感谢您的任何想法:)

最佳答案

我认为没有办法通过 Javascript 执行此操作,但如果您将这些 swf 文件托管在自己的服务器上,您可以创建一个包装器 swf,它会动态加载您想要屏幕截图的 swf,然后将它们绘制到BitmapData 对象。

swf 内部的快照过程可以通过ExternalInterface 从 Javascript 触发,之后您可以序列化原始像素或使用包装器 swf 内部的 PNG 或 JPEG 编码器将位图数据转换为图像文件,然后发送该文件数据通过ExternalInterface返回到Javascript。或者您使用 swf 中的 FileReference 类将图像文件直接保存在用户的硬盘驱动器上 - 需要注意的是,为了触发保存过程,用户必须单击 swf 内的按钮(这是一种安全措施)功能)。

还有一个先决条件,那就是加载到包装器中的 swf 必须与包装器 swf 托管在同一域中,否则安全沙子将不允许拍摄它的位图快照。

关于javascript - 根据页面上的 SWF(Flash)元素创建图像? PHP/Jquery/Javascript/HTML/FLASH,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3245115/

相关文章:

javascript - 为什么我不必转义等号?

jquery - 展开下拉列表时如何移动元素

javascript - 使用 JavaScript 在 onload 上触发 F11 键事件

flash - 如何在 Flash 中将文本环绕在图像周围 (actionscript 3)

javascript - 对象 #<HTMLDivElement> 作为 jQuery 对象

javascript - 如何在 D3 map 中做时间数据

javascript - 寻找基于 Flash/JS 的 SVG 编辑器或编辑框架

flash - AS3 x和y属性精度

javascript - 从数据数组发送恒定大小的批量请求 - React、Axios

javascript - dotdotdot.js 仅在调整窗口大小后有效