忘れないうちにメモ。
FLASH 内での JPEG、PNG エンコードを実現するには Adobe の corelib ライブラリを利用する。
以下ソースの抜粋版
//example
import com.adobe.images.JPGEncoder;
import flash.filesystem.File;
import flash.filesystem.FileStream;
//JPEG化するBitmapData
var bitmapSource:BitmapData = new BitmapData( 100, 100);
//JPGEncorder インスタンスを定義
var encoder:JPGEncoder = new JPGEncoder(100);
try{
//JPEG にエンコードしたバイナリデータを ByteArray インスタンスに格納
var bytes:ByteArray = encoder.encode(bitmapSource);
var file:File = new File();
//JPEG の保存パス設定
file.nativePath = File.desktopDirectory.nativePath + File.separator + "sample.jpg";
var fs:FileStream = new FileStream();
fs.open(file, FileMode.UPDATE);
fs.writeBytes(bytes, 0, bytes.length);
fs.close();
}
catch (e:Error) {
trace(e.message);
}
ここで出てくる ByteArray クラスには、バイナリデータの読み取り、書き込み、および操作を最適化するメソッドおよびプロパティがある。
ローカルファイルへのアクセスとか読み書きには File クラスと FileStream クラスを使う。
これは AIR でのみ使用可能。これらに関してはもうちょっと調べる。