FLASH での JPEG、PNG エンコード
2008年11月11日 12:56
忘れないうちにメモ。
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 でのみ使用可能。これらに関してはもうちょっと調べる。
カテゴリー: programming
2 Comments
Leave a comment
動いてるのを見て感動しました。
AIRは実行環境としてかなり優れていますねぇ。
より完成度が高まるのを期待してます。(;´∀`)/
コメント by tatzuro — 2008年11月11日 13:29
JPEGエンコードは外部PHPなどで行わなくてはいけないと思ってましたが、
FLASHで完結してしまうのはスゴイですよね。
こうゆう知らなかったことが知れるのはとても嬉しいです。
コメント by littlepad — 2008年11月12日 14:25