Foros del Web » Creando para Internet » Flash y Actionscript »

Guardar JPG en tiempo de ejecución en Flash

Estas en el tema de Guardar JPG en tiempo de ejecución en Flash en el foro de Flash y Actionscript en Foros del Web. Buenos días. Algo relativamente sencillo. Hay un movicelip que puede ser modificado por el usuario. Por ejemplo, si da click en un botón, el color ...
  #1 (permalink)  
Antiguo 24/04/2012, 08:33
Avatar de DAMOVEAR  
Fecha de Ingreso: febrero-2008
Mensajes: 78
Antigüedad: 16 años, 9 meses
Puntos: 2
Exclamación Guardar JPG en tiempo de ejecución en Flash

Buenos días.

Algo relativamente sencillo.

Hay un movicelip que puede ser modificado por el usuario. Por ejemplo, si da click en un botón, el color de este MC cambia a otro.

Por otro lado, hay otro botón que PERMITE guardar un JPG de exactamente lo que se ve en pantalla.

Encontré tres páginas con tutoriales por si a alguno le sirve, pero creo que son demasiado sofisticados para lo que yo realmente necesito.

http://uklanor.wordpress.com/2009/07...sde-flash-cs4/
http://www.sephiroth.it/tutorials/fl...en/page002.php
http://www.quasimondo.com/archives/000572.php

El primero parecía tener lo que buscaba, pero desgraciadamente solo me guarda el primer estado del MC, no el modificado.

¿Alguien me ayuda?
  #2 (permalink)  
Antiguo 24/04/2012, 09:46
 
Fecha de Ingreso: junio-2010
Ubicación: Charlotte, NC
Mensajes: 611
Antigüedad: 14 años, 5 meses
Puntos: 95
Respuesta: Guardar JPG en tiempo de ejecución en Flash

Te falto ver el mejor tutorial de todos ;)

http://alanchavez.com/tutorial-como-...esarla-con-php

Mi tutorial es de tomar fotos con la webcam; sin embargo esto es mucho mas sencillo.

En lugar de copiar todos los pixeles en la camara, a un mapa de bits. Lo que tienes que hacer es copiar todos los pixeles de tu movieclip al mapa de bits.

Código Javascript:
Ver original
  1. var ancho:Number = 320;
  2. var alto:Number = 240;
  3. var arrayDeBytes:ByteArray = new ByteArray  ;
  4. var mapaDeBits:BitmapData = new BitmapData(ancho,alto);
  5. var codificador:JPGEncoder = new JPGEncoder(85);
  6. var header:URLRequestHeader = new URLRequestHeader("Content-type","application/octet-stream");
  7. var req:URLRequest = new URLRequest("guardarimagen.php?nombre=dibujo.jpg");
  8. mapaDeBits.draw(miMovieClip);
  9. arrayDeBytes = codificador.encode(mapaDeBits);
  10. req.requestHeaders.push(header);
  11. req.method = URLRequestMethod.POST;
  12. req.data = arrayDeBytes;
  13. navigateToURL(req,"_blank");

Y en el PHP algo asi:

Código PHP:
Ver original
  1. <?php
  2. if (isset($GLOBALS["HTTP_RAW_POST_DATA"]))
  3. {
  4.     // get bytearray
  5.     $jpg = $GLOBALS["HTTP_RAW_POST_DATA"];
  6.  
  7.     // add headers for download dialog-box
  8.     header('Content-Type: image/jpeg');
  9.     $nombreArchivo = $_GET['nombre'];
  10.     $manejadorArchivo = fopen($nombreArchivo, 'w') or die("No se pudo escribir archivo");
  11.     fwrite($manejadorArchivo,$jpg);
  12.     fclose($manejadorArchivo);
  13. }
  14. ?>


En mi tutorial esta mejor explicado :)
  #3 (permalink)  
Antiguo 24/04/2012, 10:54
Avatar de DAMOVEAR  
Fecha de Ingreso: febrero-2008
Mensajes: 78
Antigüedad: 16 años, 9 meses
Puntos: 2
Respuesta: Guardar JPG en tiempo de ejecución en Flash

Justo ahora estoy de salida, pero al regresar de la Universidad, le daré una revisada.

Sin embargo, ya me saltó una pregunta: ¿No es posible realizarlo solo en flash? ¿Tiene que sar PHP de todas maneras?
  #4 (permalink)  
Antiguo 24/04/2012, 15:30
 
Fecha de Ingreso: junio-2010
Ubicación: Charlotte, NC
Mensajes: 611
Antigüedad: 14 años, 5 meses
Puntos: 95
Respuesta: Guardar JPG en tiempo de ejecución en Flash

Tendrías que echarle una revisada a la clase FileReference de AS3.
Supongo que puedes sustituir la parte en la que pasas el array de bytes a PHP por algo como:


var file:FileReference = new FileReference();
file.save(arrayDeBytes, "mifoto.jpg");

Intenta hacerlo asi, la foto deberia estar guardada en el mismo lugar donde la pelicula Flash se ejecuta.
  #5 (permalink)  
Antiguo 25/04/2012, 06:31
Avatar de DAMOVEAR  
Fecha de Ingreso: febrero-2008
Mensajes: 78
Antigüedad: 16 años, 9 meses
Puntos: 2
Respuesta: Guardar JPG en tiempo de ejecución en Flash

Hola Alan!

Agradezco enormemente la ayuda que me brindas, pero sinceramente no me queda muy claro. Creo que tu código, para l oque necesito, es como matar una hormiga con un meteorito.

Mira, yo soy animador, no programador, pero a veces debo aceptar cosas com oesta porque necesito comer! xD

lo que deseo hacer, es algo tan simple como esto:
https://www.dropbox.com/s/k8vyxe0pamsesso/prueba.swf

Un cuadrado, flechitas de lado a lado.

Cuando se seleccione un color, hacer click en el botón naranja y descargar. SIMPLE!

Me ayudarías por favor?

Etiquetas: bitmap, flash, jpg
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 07:11.