Hatena::ブログ(Diary)

パジャマdeブロッガー(myugaruのヲタ日記) このページをアンテナに追加 RSSフィード

myugaruの色々構想中・・・! - 本気でゲームやコンピュータに打ち込むブログ
myugaruの作ったプログラム達New! 最終更新2008/3/1)

2008年01月09日 SusiePlugin使用デモ

[][]SusiePlugin使用デモ(完成)

まあ当たり前だが世には同じようにSusieプラグインを使う部分をライブラリ化しようと考える人は多くいるものである。実際ネットで検索しても結構多くのライブラリが見つかった。(※C#で全てを完全実装したライブラリは見つからなかった。事の始まりはC#での完全実装なのであるがそういうライブラリとなると見つからなかった)

しかしである。私はそのほとんどを使ってみたが・・・申し訳ないがかなり失望してしまった。

プログラマーというのは使う側(この場合は画像ファイルを閲覧したい人)の立場でコードが組める人は本当に少ないのだなと実感している。今回のプラグインの使用であればたとえば実際には、

  1. プラグインを*.spiにてファイル検索し(FindFile処理)、リスト構造へ取り込む(LoadLibrary処理)。
  2. 画像ファイル名を渡されたならリスト構造のそれぞれのプラグインへ画像を読み出せるかを問い合わせを行う(コレクションからの検索とサポートのテスト)。
  3. 対応するプラグインが見つかったならそのプラグインに対して画像読み出しとBitmapへの変換を行わせる(GetPicture呼び出し)。

この手順そのまんまのライブラリを作っている人がほとんどなのだ。こういう込み入った手順というのはプラグイン作者とプラグイン使用者の事情であって画像を閲覧したいエンドユーザーにまで強制すべきでは無い。画像閲覧者は実装がspiのコレクションであることなど全く知る必要は無いはずの情報である。つまり画像閲覧者にとっては↓のコードで十分である。それ以上に画像閲覧しかしないプラグインにいったい何を要求する必要があるというのか?ということである。

Susie susie = new Susie();
Bitmap bmp = susie.GetPicture(画像ファイル名);

繰り返しで申し訳ないが使う人の立場というのは本当に大事なのでプログラマーとして人にコードを提供する立場の人たちはもう少し考えてほしいと思う。

私の作ったSusieプラグイン使用デモは以下からダウンロードできます。

http://www4.atpages.jp/myugaru/