Exportar swf a bitmap
4 seguidores
Buenas,
me pregunta un amiguete si sé si se puede exportar un swf a imagen. Sé que ya con AS3 se podía exportar usando la clase BitmapData, pero el caso es que están utilizando una película de la que no tienen el fichero fuente. A mi se me ha ocurrido hacer una película a modo de contenedor que llame al swf y desde esta nueva película ya generar el mapa de bits. ¿Sabéis si eso es posible?
Muchas gracias
elsuricatorojo
Si el servidor puede ejecutar PHPs y lo que quieres es guardar "fotos" de movieclips en formato jpg o png yo le echaría un vistazo a:
http://www.quasimondo.com/archives/000572.php
tpmmds
Hola:
Por si lo que quieres es reutilizar los símbolos (mov ieclips, sprites, etc) del swf, la clase Loader tiene la propiedad content con la que puedes obtenerlos. Como dices, carga el swf:
<code>
function cargaImagen():void {
var loader:Loader = new Loader();
loader.load(new URLRequest("miArchivo.swf");
loader.contentLoaderInfo.addEventListener(Event.COMPLETE, onLoadComplete, false, 0.0, true);
}
function onLoadComplete(evt:Event):void {
var simbolos:* = evt.target.content;
}
</code>
En "simbolos" tienes todo el swf. Si no sabes cómo se llaman los movieclips del swf, ejecutalo en modo debugger y consulta los hijos que tiene "simbolos".
Si, por ejemplo, existe un sprite llamado "miBonitoFondo", y quieres utilizarlo en "miMovieClip", símplemente haces:
miMovieClip.addChild(simbolos["miBonitoFondo"].
Como dice Zarate, si lo que quieres es "rasterizar" el simbolo, te creas un BitmapData con su tamaño y dibujas en él dicho símbolo.
<code>
var bitmapData:BitmapData = new BitmapData(ancho, alto);
miMovieClip.addChild(new Bitmap(bitmapData.draw(simbolos["miBonitoFondo"]))
</code>
Un saludo.
P.D.: Las clases Bitmap y BitmapData aparecieron en Flash 8, por lo que se pueden utilizar también con AS2
dagi3d
gracias zárate!
juandelgado
Sí que es posible.
Como bien dices puedes cargar el swf dinámicamente, crear el BitmapData y mandarlo al servidor para que genere la imagen.
Gol!
: )