SWFファイルにFlashオブジェクトがあります。抽出する必要がある画像が含まれているため、Flashをサポートしていないデバイスに直接使用できます。
SWFから画像を抽出するにはどうすればよいですか?どのツールを使用すればよいですか?
状況によって異なりますが、いずれの場合も、ファイル内のそのイメージ(シンボル)を識別する方法が必要になります。
ケース1.埋め込み
[Embed(source="assets/library.swf", symbol="AImage")]
[Bindable]
public var AImage:Class;
ケース2.ランタイム
(ローダーがswfソースファイルをロードすると、このコードが実行されます)
loader.contentLoaderInfo.applicationDomain.getDefinition("AImage");
それが役に立てば幸い
オープンソースツールキット があり、これは仕事にかなり適しています。 Windowsでは、管理者としてインストーラーを実行する必要があります。次に、フォルダーをPATHに追加する(またはしない)ことで、jpegを取り出すことができます。最初:
swfextract /path/to/file.swf
ファイル内のすべてのアセットがリストされます。この場合、JPEGセクションのIDに注意してください。次に、各IDに対して、実行します
swfextract /path/to/file.swf -i id -o name-of-my-new-file.jpg
トムが答えたように、 オープンソースツールキット を使用することに同意します。
ツールをビルドしてlinux/macにインストールするには、これらのコマンドを wiki で指定されているとおりに使用します。
tar -zvxf swftools-0.x.x.tar
cd swftools-0.x.x
./configure
make
make install
すべてのアセットを抽出するコマンドは次のとおりです。
swfextract --outputformat "extract_%06d.%s" -a 1- test.swf
これで指定されているように wikiページ 。
SWFTools(上記の回答で述べた)の代わりに JPEXS FFDec 、SWFデコンパイラーおよびエディターがあります。主な利点は、画像を抽出する前にプレビューできることです。また、GUIツールであるため、少し使いやすくなっています。
FFDecにファイルをロードしたら、サイドツリーの[画像]セクションをクリックします。画像を抽出するには、画像を右クリックし、「選択をエクスポート」、「OK」の順に選択します。 (ギャラリービューとサイドツリーの両方で)複数のアイテムを選択して、同時に抽出できます。すべての画像を抽出するには、サイドツリーで[画像]を右クリックし、その上で[選択のエクスポート]を使用します。結果は、新しく作成された「画像」フォルダに保存されます。