6/02/2009

FileReference.save Example

Endlich macht die FileReference richtig spaß. Seitdem es beim FlashPlayer 10 die neue save Methode gibt, kann man z.B. selbst erzeugte BitmapData abspeichern ohne einen Umweg z.B. über PHP gehen zu müssen. Nimmt man die Adobe ActionScript 3 Core Library dazu kann man JPG oder PNG Bilder abspeichern.
Für das ganze Speichern braucht es nur wenige Zeilen Code. Ich hab für dieses Beispiel eine kleine Klasse geschrieben die es weiter unten zu sehen gibt.
(Zum betrachten braucht Ihr min. den Flashplayer 10)


Und hier der Code:
(Als Parameter übergibt man das BitmapData Object, den Dateinamen und die Qualiät für die JPG Kompression)
Code und Beispiele gibts ausführlicher aber auch nochmal im Flashforum.


package {
 
 import com.adobe.images.JPGEncoder;
 import flash.display.BitmapData;
 import flash.net.FileReference;

 public class FileManager {

  private var jpgEncoder:JPGEncoder;
  private var fileReference:FileReference;
  
  public function FileManager():void {  }
  
  public function saveImageJPG( bitmapData:BitmapData, fileName:String, quality:int ):void {

   this.jpgEncoder = new JPGEncoder( quality );
   this.fileReference = new FileReference();
   this.fileReference.save( this.jpgEncoder.encode( bitmapData ), fileName + ".jpg" );

  }
 }
}

1 Kommentar:

Anonym hat gesagt…

sehr fein!
sowohl das speichern, als auch die animation mit mausbeeinflussung!