FLASH での JPEG、PNG エンコード

2008年11月11日 12:56 action script,air — littlepad

忘れないうちにメモ。
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 でのみ使用可能。これらに関してはもうちょっと調べる。

2 Comments

  1. 動いてるのを見て感動しました。

    AIRは実行環境としてかなり優れていますねぇ。
    より完成度が高まるのを期待してます。(;´∀`)/

    コメント by tatzuro — 2008年11月11日 13:29

  2. JPEGエンコードは外部PHPなどで行わなくてはいけないと思ってましたが、
    FLASHで完結してしまうのはスゴイですよね。
    こうゆう知らなかったことが知れるのはとても嬉しいです。

    コメント by littlepad — 2008年11月12日 14:25

TrackBack URL

Leave a comment

about

ハンドルネーム:littlepad
都内で WEB 制作(デザイン, html/css, Flash, MT, WordPress etc)をしているBOØWY研究家

category:

search:


archives:

GO TO PAGETOP