2012-02-25 22 views
17

Ho un oggetto flash (con estensione swf). L'oggetto flash contiene un'immagine che ho bisogno di estrarre e usare al posto del file swf ... specialmente per i dispositivi che non supportano il flash. Come possiamo estrarre l'immagine da un file swf (flash)? Quali strumenti posso usare?Come estrarre le immagini dal file swf?

risposta

3

Bene dipende dalla situazione, in ogni caso avrete bisogno di un modo per identificare quell'immagine all'interno del file o un simbolo.

Caso 1. Embed

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

Caso 2. Runtime

(viene eseguito il codice una volta che il loader ha caricato il file di origine SWF)

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

Speranza che aiuta

23

C'è un open source toolkit che funziona abbastanza bene per il lavoro. Su Windows è necessario eseguire il programma di installazione come amministratore o muore. Quindi aggiungi la cartella al PERCORSO (oppure no) e puoi estrarre i file jpeg. Primo:

swfextract /path/to/file.swf 

che elencherà tutte le risorse nel file. In questo caso, presta attenzione agli ID nella sezione JPEG. Poi per ogni ID, eseguire

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

Modifica suggerita da un altro utente: passare lo switch '-i' davanti al valore id nella riga sopra. – Tom

+0

grazie per il link, funziona come una magia – Suresh

+0

grazie, swfrender è anche utile per estrarre le immagini nello swf – thomas

5

Sono d'accordo con l'utilizzo del open source toolkit come risposta da Tom.

per costruire gli strumenti e installare su linux/mac, usare questi comandi come specificato nella wiki:

tar -zvxf swftools-0.x.x.tar 
cd swftools-0.x.x 
./configure 
make 
make install 

Ecco il comando per estrarre tutte le attività:

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

Come specificato in questo wiki page.

+3

Non c'è bisogno di compilarlo in Ubuntu-Debian, il pacchetto esiste nei repository ufficiali come swftools: 'sudo apt-get install swftools' – jgpATs2w

Problemi correlati