将swf渲染为png或其他图像格式

Jam*_*s T 9 linux flash png image converter

我怎样才能在linux上将swf呈现给图像文件?我需要能够将其他swfs加载到该swf并运行actionscript代码.

它甚至可以在Linux上?我需要从PHP做到这一点,如果我必须使用命令行工具,这很好.

App*_*234 16

swfrender来自swftools适用于基本的SWF文件.

swfdec-thumbnailer来自swfdec-gnome虽然只能获得swf的第一帧.

要使用swfdec从swf获取任何帧,请参阅以下邮件列表帖子中的C代码段.

gnashgnash也可以工作gnash -s<scale-image-factor> --screenshot last --screenshot-file output.png -1 -r1 input.swf,瑞士法郎的最后一张图片.

ffmpeg来自ffmpeg也适用于某些swf格式ffmpeg -i movie.swf -f image2 -vcodec png movie%d.png

另请参阅以下指南中的命令行管道.

要从php调用外部程序,请使用此处exec记录的命令.

请注意,出于安全原因,逃避传递给观点是重要的exec有像另一个命令escapeshellcmdescapeshellarg出于安全原因.

无论是单帧还是全帧,转换为图像格式后,都无法运行动作脚本.其他非GNU/Linux工具支持从SWF导出动作脚本.

如果要导出到PNG的SWF是太复杂了其他工具比你可以使用Flash插件或GnashXvfb用屏幕捕捉软件一起拍摄的AVI视频格式的SWF的任何图像帧或.然后,您可以从视频格式中提取图像.

这个虚拟帧缓冲区方法将支持复杂的SWF文件,但是如果你想捕获一组特定的鼠标/键盘需要使用Gnash和Xvfb和Screen Capture,或浏览器,Xvfb和Selenium需要很多工作.与SWF的互动.

使用和不使用Virtual FrameBuffer的Gnash应该在导出之前加载ActionScript,但可能会遇到复杂的ActionScript问题.带有Virtual Framebuffer的Flash插件将在导出之前加载ActionScript.

另请参阅以下StackOverFlow问题,您提出的问题是重复的问题

  • 不,我的意思是在导出flash影片之前,需要运行代码来显示我想要的内容. (2认同)