2012-02-25 3 views
17

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

ответ

3

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

Случай 1. Вставить

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

Случая 2. Продолжительности

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

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

Надеется, что это помогает

23

Существует open source toolkit, который работает достаточно хорошо для работы. В Windows вам нужно будет запустить установщик как администратор или он умрет. Затем добавьте папку в свой PATH (или нет), и вы можете вытащить jpegs. Первый:

swfextract /path/to/file.swf 

, в котором будут перечислены все активы в файле. В этом случае обратите внимание на идентификаторы в разделе JPEG. Тогда для каждого идентификатора, запустите

swfextract /path/to/file.swf -i id -o name-of-my-new-file.jpg 
+0

Редактировать, предлагаемую другим пользователем: передать переключатель '-i' перед значением id в строке выше. – Tom

+0

Благодарим вас за ссылку, ее работу как волшебство – Suresh

+0

спасибо, swfrender также полезен для извлечения изображений в swf – thomas

5

Я согласен с использованием open source toolkit, как ответил Том.

Чтобы построить инструменты и установить на 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

As указанном в этом wiki page.

+3

Не нужно скомпилировать его в Ubuntu-Debian, пакет существует в официальных репозиториях как swftools: 'sudo apt-get install swftools' – jgpATs2w

Смежные вопросы