Как извлечь изображения из swf файла?

У меня есть flash-объект (с расширением swf). Flash-объект содержит изображение, которое мне нужно извлечь и использовать вместо swf-файла..особенно для устройств, не поддерживающих Flash. Как извлечь изображение из файла swf (flash)? Какие инструменты я могу использовать?

3 ответов


Ну, это зависит от ситуации, в любом случае вам понадобится способ определить, что изображение внутри файла ака символ.

корпус 1. Вставить

[Embed(source="assets/library.swf", symbol="AImage")]
[Bindable]
public var AImage:Class;

корпус 2. Время работы

(этот код выполняется после загрузки загрузчиком исходного файла swf)

loader.contentLoaderInfo.applicationDomain.getDefinition("AImage");

надеюсь, что это помогает


здесь инструментарий с открытым исходным кодом это работает довольно хорошо для работы. В Windows вам нужно будет запустить установщик от имени администратора или он умрет. Затем добавьте папку в свой путь (или нет), и вы можете вытащить jpeg. Первый:

swfextract /path/to/file.swf

, в котором будут перечислены все активы в файле. В этом случае обратите внимание на идентификаторы в разделе JPEG. Затем для каждого 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.