das*_*zul 7 flash command-line
我想编写一个python脚本,它接受一堆swf文件并将它们呈现给单个图像文件.
每个swf文件只有一个帧(文本,图片等),根本没有动画.我已经尝试过swftools工具集(Windows版本)的渲染命令,但生成的图像的分辨率太低.
所以我需要的是:
一个命令行工具(Windows/Linux)或一个python库,它将一个帧从一个swf渲染到一个位图或更好地渲染到类似PDF的东西(如果可以保留文本数据那将会很酷).如果可以手动设置目标分辨率/大小,那将是很好的.
提前致谢!
das*_*zul 11
我很抱歉回答我自己的问题,但我通过浏览来源找到了swfrender(swftools的一部分)的无证特征.
swfrender path/to/my.swf -X<width of output> -Y<height of output>
-o<filename of output png>
Run Code Online (Sandbox Code Playgroud)
您可能已经猜到了X选项可以让您确定输出的宽度(以像素为单位),Y对于高度也是如此.如果您只设置一个参数,则选择另一个参数与原始高宽比(非常有用)
这对我有用,但是随着Zarate提供了一个可能更好的解决方案(我正在考虑swf到PDF转换),他应该得到学分.
干杯
小智 5
有时SWFRender卡在非常重的文件上,特别是在生成300dpi +图像时.在这种情况下,Gnash可以提供帮助:
gnash -s<scale-image-factor> --screenshot last --screenshot-file output.png -1 -r1 input.swf
Run Code Online (Sandbox Code Playgroud)
这里我们将一个电影的最后一帧转储到文件output.png禁用声音处理并在渲染帧后退出.我们也可以在这里指定比例因子或使用
-j width -k height
Run Code Online (Sandbox Code Playgroud)
指定结果图像的确切大小.