« アウトプットしたいなら | メイン | バレンタインネタゲーム作ってみた »

アイコンファイルのデコーダクラス作った

flash で favicon.ico を直接読み込みたいなと思ったので作りました。


ICODecoder


マスクデータとかRLE圧縮とか全部対応してますが、クロスドメイン制約のせいでURLを直接指定して読み込むのはほとんど無理という罠。
実際に読み込むにあたっては面倒ですがサーバ介しましょう。
サーバサイドで画像変換しちゃえばいいじゃないかという本末転倒な解決策はこの際無視です。


以下サンプルコード。
デコード結果が配列なのは、ICOファイルに複数のアイコンデータが格納されているため。


var decoder:ICODecoder = new ICODecoder();
var arr:Array = decoder.decode( bytes );

for ( var i:int = 0; i < arr.length; i++ ) {
var data:ICOImageData = arr[i] as ICOImageData;

if ( ( data.info.width == 16 ) && ( data.info.height == 16 ) ) {
// 16x16だったら
addChild( new Bitmap( data.image ) );
}
}

関連エントリ:
外部BMPファイルを読み込むためのデコーダクラス作った
PSDParser リリース

トラックバック

このエントリーのトラックバックURL:
http://void.heteml.jp/mt/mt-tb.cgi/121

コメントを投稿

あわせて読みたい