« SCRAP AND BUILD | メイン | ブログパーツ TwitterConsole を作った »

外部BMPファイルを読み込むためのデコーダクラス作った

外部BMPファイルをFlashPlayerで表示するためのデコーダクラス BMPDecoder を作成しました。
RLE圧縮にも対応。

Spark projectSnippetsにコミットしました。
怪しいところがあればいくらでもご報告ください。

 
当初は BMPLoader として読み込みから表示までサポートするクラスとして作ろうと考えていたのですが、Loader を拡張すると load をオーバーロードできない、URLLoader を拡張するとインスタンスを直接子として配置できない、しょうがないから Sprite を拡張しようとしたらデコードしたビットマップデータをわざわざ子として配置するために Bitmap インスタンスまで持たなきゃいけなくなる。
じゃあもう Bitmap を拡張すればいいじゃないか。

……読み込みから表示まで行うクラスのベースクラスが Bitmap ってなんだか気持ちが悪い。

自分が使う分にはいいのですが、オープンソースプロジェクトにコミットするにあたってどうもこの気持ち悪さが拭えなかったので、デコーダだけでいいかなと。
こんなクラス使う人はそもそもこなれてるはずだから、読み込みから全部サポートしなくてもいいかなと。
データの読み込み後、すぐにデコードを行うかどうかも使う人に任せられるのできっとこの方がいいかなと。

 
最終的には拡張子を気にすることなく読み込みを行う ImageLoader クラスといった感じで作り込めれば最強なんですが、どれだけ対応しなきゃならないんだと。
こういうのは複数人で開発した方がよさそうですね。

関連エントリ:
PSDParser リリース
アイコンファイルのデコーダクラス作った

トラックバック

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

コメント

Soundクラスが音をロードできるので、BitmapDataがロードできてもありっちゃありなのではないでせうか。

>Takaさん
ありっちゃありですが、PROGRESSとかCOMPLETEとかのイベント制御どうしようかなって感じで。
onProgress、onCompleteを用意しておくかなあ……

このあたりの作法が人によって違うので迷いどころっす。

コメントを投稿

あわせて読みたい