Guardar una imagen con la función save() de FileReference

Guardar una imagen con la función save() de FileReference


Deprecated: Function split() is deprecated in /home/km100runner/esedeerre.com/buscador.php on line 56

Etiquetas: save() encode() FileReference JPGEncoder


Deprecated: Function split() is deprecated in /home/km100runner/esedeerre.com/buscador.php on line 66

Guardar una imagen con la función save() de FileReference

Una de las novedades de Flash Player 10 fue la función save() de FileReference.

Esta clase permite guardar un archivo directamente en el ordenador del usuario, si necesidad de pasar por el servidor.

En este ejemplo, guardo una captura del stage en una imagen codificada como jpg (utilizando la clase JPGEncoder de adobe y la función save():

  1.  
  2. /**
  3.  * 
  4.  * @param	e
  5.  * Para guardar:
  6.  * 0. Oculto el botón de guardar para que no salga en el pantallazo
  7.  * 1. Crear un Bitmapdata con el objeto que queremos guardar
  8.  * 2. Crear un bitmap con ese BitmapData
  9.  * 3. Crear una variable de tipo JPGEncoder(la calidad de 1 a 100)
  10.  * 4. Llamar a la función encode de JPGEncoder pasando como parámetro el bitmapData
  11.  * 5. Llamar a la función save() de FileReference pasando como parámetro el ByteArray del punto anterior y el nombre
  12.  * con el que queremos guardar el archivo
  13.  * 6. Mostrar de nuevo el botón de guardar
  14.  */
  15.  private function guardar(e:MouseEvent):void {
  16. 	boton_guardar.visible = false;
  17. 	var bitmapData:BitmapData = new BitmapData(stage.stageWidth,stage.stageHeight);
  18. 	bitmapData.draw(stage);
  19. 	var bitmap:Bitmap = new Bitmap(bitmapData)
  20. 	var jpg:JPGEncoder = new JPGEncoder(80);
  21. 	var ba:ByteArray = jpg.encode(bitmapData);
  22. 	file.save(ba, 'captura.jpg');
  23. 	boton_guardar.visible = true;
  24. }
  25.