我怎样才能生成的SWF文件PNG图像?

问题描述 投票:0回答:3

我有用于化身生成我的网站约2000 SWF文件。时代变了,我想从Flash移开。我与唯一的问题是我必须要透过这些SWF文件2000和PNG图像才能够做到这一点。因此,很自然,我看着自动化工具,以帮助这一点。

我一直在寻找到swftools,发现swfrender,这是一个伟大的工具,但它并没有为我的SWF文件。在SWF文件的对象定位在0,0,它的关闭,像这样的画面:

The object on the stage at x: 0, y: 0

所以,当swfrender呈现图像,原来是这样的:

swfrender result

我正在寻找一个工具,可以提取阶段的内容,无论是位置,并输出成一个PNG图像。

一些额外的细节:

  • 该SWF文件都AS1和AS2
  • 有些SWF文件有多个帧
  • SWF内容中的每个SWF之间的尺寸变化,从而一些可能是100像素,而另一些可能是10px的

我想如果可能的话这是命令行,因此它可以自动的,有点速度比它会带我去通过每一个和手动导出它来完成。

flash command-line png actionscript-2
3个回答
2
投票

什么swfrender确实是渲染SWF。您可以尝试使用替代swfextract,其中也包括与swftools提取的对象。

swftools Wiki

要提取的一切使用...

swfextract --outputformat "extract_%06d.%s" -a 1- test.swf

而一些帮助它从该名男子页:

Extract all:

        -a                               Extract all files
        --outputformat "extract_%06d.%s" Filename to use for extraction (printf format)

否则,如果您希望只提取特定的对象,你可以做到这一点:

要提取单个项目。首先,运行swfextract file.swf并得到任何Flash应用程序包含。输出看起来像:

Objects in file file.swf:
[-i] 8 Shapes: ID(s) 2, 5, 7, 9, 11, 13, 15, 17
[-i] 1 MovieClip: ID(s) 18
[-j] 8 JPEGs: ID(s) 1, 4, 6, 8, 10, 12, 14, 16
[-F] 1 Font: ID(s) 3
[-f] 1 Frame: ID(s) 0

这些是你将能够提取的对象。例如,如果要提取的第三JPG(ID = 6)到一个文件file.jpeg,该命令为:

swfextract -j 6 file.swf -o file.jpeg

所以,如果你想提取一切从每一个SWF文件,而不是所有混合起来,这使我心目中最好的解决办法是让每一个从一堆里面自己的文件夹每个SWF提取的文件。你可以达到,通过使用for循环:创造每一个SWF文件的文件夹,并且该文件夹里面的SWF中的每个元素提取。这将是以后处理它们有用。

但形状,例如,被提取为SWF,你可以使它们,或者使它们之前调整其大小。

另一点是,你也许不得不调整,或使它们之前移动的对象。你能负担得起,与内swftools另一个工具:swfcombine。此工具通常用于SWF对象组合,但你可以用它来移动或调整它的元素:

−d, −−dummy    Don't require slave objects (for changing movie attributes)

然后你应该能够正确地呈现它。

对不起,如果我让你感到困惑,但有这么多的选择......看来,这取决于特定情况下(我不知道如何处理不同类型的SWF,如AS1,AS2,等等)。在任何情况下,我希望这至少帮助你!


1
投票

不要提出僵尸线程,但试图将SWF工具,通过Lutarisco的建议,不能够安装,我发现https://github.com/jindrapetrik/jpexs-decompiler/releases/tag/version11.2.0

希望这将有助于其他人试图从他们的主权财富基金图片:)你可以设置背景颜色,清除和选择出口作为形状或框架,你可以ASLO操纵出口规模,以获得更大的imagesenter image description here


-1
投票

导出>导出图像。其导出到Flash文件PNG文件。这是不可能有来自SWF的照片,除非你使用的是Windows刀具。

© www.soinside.com 2019 - 2024. All rights reserved.