2012-02-25 36 views
17

Tengo un objeto flash (con una extensión swf). El objeto flash contiene una imagen que necesito extraer y usar en lugar del archivo swf ... especialmente para dispositivos que no admiten flash. ¿Cómo podemos extraer la imagen de un archivo swf (flash)? ¿Qué herramientas puedo usar?¿Cómo extraer imágenes del archivo swf?

Respuesta

3

Bueno, depende de la situación, en cualquier caso, necesitará una forma de identificar esa imagen dentro del archivo, también conocido como un símbolo.

Caso 1. Insertar

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

Caso 2. Tiempo de ejecución

(se ejecuta el código una vez que el cargador ha cargado el archivo de origen SWF)

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

creo que sirve

23

Hay un open source toolkit que funciona bastante bien para el trabajo. En Windows necesitarás ejecutar el instalador como administrador o fallecerá. Luego agrega la carpeta a tu RUTA (o no) y puedes sacar jpegs. Primero:

swfextract /path/to/file.swf 

que enumerará todos los activos en el archivo. En este caso, preste atención a los identificadores en la sección JPEG. Luego, para cada ID, ejecute

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

Editar sugerido por otro usuario: pase el interruptor '-i' delante del valor de identificación en la línea superior. – Tom

+0

gracias por el enlace, funciona como una magia – Suresh

+0

gracias, swfrender también es útil para extraer imágenes en el swf – thomas

5

Estoy de acuerdo con el uso de la open source toolkit como respondida por Tom.

para construir las herramientas e instalar en Linux/Mac, utilice estos comandos como se especifica en el wiki:

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

Este es el comando para extraer todos los activos:

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

Como especificado en este wiki page.

+3

No es necesario compilarlo en Ubuntu-Debian, el paquete existe en los repositorios oficiales como swftools: 'sudo apt-get install swftools' – jgpATs2w

Cuestiones relacionadas