Tema: Consulta
Ver Mensaje Individual
  #8 (permalink)  
Antiguo 21/12/2010, 17:27
AlanChavez
 
Fecha de Ingreso: junio-2010
Ubicación: Charlotte, NC
Mensajes: 611
Antigüedad: 14 años, 5 meses
Puntos: 95
Respuesta: Consulta

Ruben lo que pides es un proceso muy sencillo.

Primero tienes que crear un objeto camara y un objeto video, vincular el objeto video con el objeto camara.

Código AS3:
Ver original
  1. var ancho:int = 550;
  2. var alto:int = 400;
  3. var cam:Camera = Camera.getCamera();
  4. var video:Video = new Video(ancho,alto);
  5. video.attachCamera(cam);
  6. addChild(video);

y posteriormente mediante la condicion que tu consideres apropiada, puedes hacer que un objeto BitmapData dibuje el contenido de la video en una instancia del objeto ByteArray y codificando esta informacion utilizando un encoder JPEG/PNG/...
En lo personal yo utilizo el as3corelib, que la puedes descargar desde aqui:
https://github.com/mikechambers/as3corelib
Y ya una vez descargado, lo unico que tienes que hacer es:

Código AS3:
Ver original
  1. var arrayDeBytes:ByteArray;
  2. var miFoto:BitmapData = new BitmapData (video.width, video.height);
  3. miFotodraw(arrayDeBytes);
  4. var codificador:JPGEncoder = new JPGEncoder(85);
  5. arrayDeBytes = codificador.encode(miFoto);

Finalmente la informacion binaria puede ser enviada a un servidor con un URLRequest
Código AS3:
Ver original
  1. var req:URLRequest = new URLRequest("guardarfoto.php?foto=mifoto.jpg");
  2. req.contentType = "application/octet-stream";
  3. req.method = URLRequestMethod.POST;
  4. req.data = arrayDeBytes;

y ahi ser procesada por cualquier tecnologia del lado del servidor, si usas PHP puedes hacer algo como:

Código PHP:
Ver original
  1. if (isset($GLOBALS["HTTP_RAW_POST_DATA"]))
  2. {
  3.     // obtenes el array de bytes (la foto en cuestion)
  4.     $jpg = $GLOBALS["HTTP_RAW_POST_DATA"];
  5. }

Y la variable $jpg , recuerda que es un array de datos binarios, asi que la puedes escribir en el servidor como un archivo .jpg (cuyo numbre sera mifoto.jpg, porque ese nombre la pasamos en el ActionScript anterior.)
Y puedes almacenar la ruta de dicho archivo en una base de datos :)

Prometo hacer un tutorial sobre este tema tambien, ahorita me encuentro realizando otros tutoriales de programacion de videojuegos :)

Última edición por AlanChavez; 21/12/2010 a las 17:49