13) アイコンにこだわろう
 NS Basic社の優秀なサポート体制により、IDEは順調にアップデートされてきました。これは、ユーザーにとって、喜ばしいことであり、また、同社への信頼を高めるのに十分な処置だと感謝しています。
一方、同梱のIconMakeの使い勝手は、・・・・お世辞にも良いとは言えないでしょう(私だけでしょうか?) 今回は、アイコンにスポットを当ててみたいと思います。

 アイコンを作成する時、NS Basicでは、同梱のIconMakeを使用しますね。
説明では、大きなアイコンは 22x22、小さなアイコンは 15x9というピクセル寸法になっている言うことですが、どう見ても、私のVISORの「予定表+」のアイコンは、その寸法に収まっているとは思えません。で、実際に測定してみると、ありゃりゃ、27x21でした。

    

図中の赤い枠が22x22ピクセルですが、やっぱりはみ出していますね。
そこで、IconMakeで作成できる最大のサイズ32x32ピクセルを使って、このようなアイコンを作ってみました。
横の線は、上から0,5,10,15,20,25,30ピクセルの位置で、右上の四角は小さいアイコンのサイズ(15x9)です。中央は22x22の外枠に線が引いてあります。
IcoTestという適当な名前のアプリケーションを作成して実行した結果が右側です。

        

この結果を見ると、高さは文字が来てしまうので22ピクセルが限界ですが、幅は32ピクセルまでフルに使えるのではないでしょうか?
コンパイルも問題無く通りましたので、多分、大丈夫であろう、としておきましょう。

 さて、アイコンの表示幅が広がり、表現力が増えましたが、肝心のIconMakeの使い勝手が悪いのはどうしようもありません。
それではと言うことで、IconMakeを自作できないか、とおもい、とりあえず、アイコンファイルをバイナリエディタで色々と見てみました。
すると、次のような事がわかりました。(エディタはAzさんの、AzBinaryを使用しました。http://hp.vector.co.jp/authors/VA023391/)

    

上の画像は、32x32ピクセルが全部黒いアイコンの中身ですが、色々なアイコンを試していくうちに、上から順番に単純にバイトごとにデータが並んでいるだけであることがわかりました。
     1111 1111 1111 1111 1111 1111 1111 1111
       F    F    F    F    F    F    F    F
         FF        FF        FF        FF
一行が4バイトで、×32行の128バイト、プラス、ヘッダ部分の16バイトで144バイトがアイコンファイルの全体です。
そして、サイズについて、大きいアイコン(22x22)も小さいアイコン(15x9)も、ファイルサイズが144バイトで、このフルブラックアイコン(32x32)も144バイトであり、どうやら、位置の問題だけで実際はどのファイルも同じであることもわかりました。

 こうなれば、自分でIconMakeが作れることになりますので、早速作ってみました(笑)

    

名付けて「Ami's Icon Make」です(安直)が、どちらかと言うと、コンバータですね。
一応、本家さまで採用されればと思って、全部英語の表記にしてみました(皮算用)が、使い方は簡単です。
起動したら、まず「Load Picture」で画像を読みこみます。ビットマップ、JPEG、GIF、どれでもOKです。読みこまれると[Main Screen]上に画像とカーソルが表示されます(赤い枠)
カーソルは、画面をタップ、じゃなかった、クリックすると、その位置に移動し、微調整は右下の[Cursor]のツールを使って、1ピクセルずつ動かします。枠の色が見えにくい時は、[Color]をクリックして、別の色に変更できます。また、枠のサイズは4種類から選択できます。
 カーソルで囲まれた部分は右側の[PreView]に表示されますが、そのまま表示されるわけではなく[Mask Color]と同じ色の部分だけが選択されて表示されています。
Mask Colorのデフォルトは黒ですが[Mask Color]をクリックして他の色にすることもできます。
あとは、位置を決めて[Create Icon]でアイコンを作成します。ただそれだけです。

 もしかしなくても、他のページでアイコンのフォーマットは解説されていると思いますので、たいして目新しい内容ではないかもしれませんね。
とりあえず、Ami's Icon Makeは、フリーで使ってください。VB6で作りましたので、NS Basicユーザーであれば、そのまま使えると思います。

     Ami Icon Make(aim_exe_j.zip)(ZIP形式、EXEを圧縮しただけ版、50KB)


尚、2時間くらいで作っちゃいましたので、バグなどあるかもしれません。皆様のお声をお待ちしております。

【後日記載】
・PalmOSの3以前は、22x22のアイコンを使っていたので、その名残と思われます。NS Basic自体がPalmOSの3以上を推奨しているので、特に問題はないと思われます。
・George Henneで確認していただいたところ、VB6のランタイム上で動作しました、とのこと。NS Basicのユーザーであれば、VB6のランタイムがすでに入っているので、セットアップ版は不要ですよ、とお返事頂きました。
・さらに後日、VB6を購入しましたので、そのまま使えるようになりました。

更新履歴
2001.04.16 Ver.0.4.0
   VB6版に以降。
2001.04.10 Ver.0.3.1
   [Main Screen]が[Main Screnn]になっていた点を修正。George Henne氏より指摘されました。恥ずかしい〜
   タイトル画像をクリックすると、著作権を表示
2001.04.09 Ver.0.3.0
   クリップボードからのペースト対応
   画像からのカラーピック機能追加
2001.04.05 Ver.0.2.0
   アイコンファイルに対応
2001.04.04 Ver.0.1.0
   公開
※上記リンクからは、常に最新版がダウンロードできます。