gpt4 book ai didi

python - 在 Linux 上将 SWF 文件转换为 PNG 图像

转载 作者:塔克拉玛干 更新时间:2023-11-03 01:31:19 25 4
gpt4 key购买 nike

在有人发帖提示类似问题已经得到解答之前,请继续阅读。

我一直在开发一个机器人,它从 Club Penguin 文件(例如 Houndstooth Bag (icon))中获取 SWF 文件并将该文件渲染为 PNG 图像。目前,我一直在使用 Python 中的 swf 模块来执行此操作,但有时它会 leads to unwanted results和其他尝试(swfrender、swfextract、gnash 等)呈现网页上的图像(就像它被切成两半)。

问题是:有没有一种方法可以使用任何 Linux 程序或 Python 库使用脚本进行这些转换,从而使输出图像看起来很专业(类似于从 JPEXS 或任何其他导出的图像)体面的 SWF 反编译器)?

我的 Python 代码看起来或多或少像这样(我知道输出是 SVG,但 SVG-PNG 转换相当简单,所以这根本不是问题)。

from swf.movie import SWF
from swf.export import SVGExporter

file = open('item.swf', 'rb')

swf = SWF(file)

svg_exporter= SVGExporter()

svg = swf.export(svg_exporter)

open('item.svg', 'wb').write(svg.read())

非常感谢任何帮助。

最佳答案

我建议你看看swftools .

图像提取示例:

$ swfextract myfile.swf

Objects in file myfile.swf:
[-i] 3 Shapes: ID(s) 1-3
[-i] 5 MovieClips: ID(s) 4, 5, 8, 10, 12
[-j] 3 JPEGs: ID(s) 69, 116, 447
[-p] 1 PNG: ID(s) 318
[-s] 3 Sounds: ID(s) 28-30
[-f] 10 Frames: ID(s) 0-10

$ swfextract -p 318 myfile.swf -o out_file.png

还有一个 swfrender 实用程序,尚未完成,并且只适用于非常 简单的 SWF 文件。 (没有 ActionScript ,没有渐变填充、无变形形状、无混合模式、无滤镜等)

$ swfrender myfile.swf -X pixelsize -Y pixelsize -o out_file.png

您可以查看 python bindings如果你有兴趣。

关于python - 在 Linux 上将 SWF 文件转换为 PNG 图像,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26900162/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com