アプリケーションからアイコンを取り出す

Windowsアプリケーションが持っているアイコンを、そのまま画像として保存できないかと考えていた。なぜこんなことを考えているかと言えば、それははっきり言って秘密なのだが、一般的には1)既存のアイコンをベースにオリジナルアイコンを作る、2)ホームページやドキュメントでアイコンを表示するのに使う、といったところだろうか。最初は、エクスプローラにアイコンを表示させ、それをキャプチャしてPhotoshopで加工、といったことを考えたが、アイコンが多数になれば面倒くさいし、そもそもすべてのアイコンをうまくエクスプローラ上に表示させるのにも一工夫必要になる。昔なら、Windows SDK(Software Development Kit)にリソースエディタがあり、これにアプリケーションの実行ファイルを読み込ませるという手があったが、Visual Studio系でこれが使えるかどうか調べるのも面倒であったので、適当なソフトウェアがないか探してみた。そこで見つけたのがIconStarsである。

詳しくは→アイコン取り出し IconStars

このプログラムを使うと、アプリケーション(.exe)をはじめダイナミックリンクファイル(.dll)、アイコンファイル(.ico)、アニメーションファイル(.ani)からアイコンを単独で抜き出し、アイコンファイル単独、BMP、PNGなどの画像ファイルとして保存できる。たとえば、IconStars自身を読み込ませると、こんな感じになる。アプリケーションそのもののアイコンの他に、いろいろなアイコンが含まれていることがわかる。

Iconstars_01 クリックすると拡大します。

お目当てのアイコンがあれば、それをクリックして選択し、保存すればよい。保存形式とファイル名は、自由に選べる。アイコンファイルで保存すれば、ごみ箱のアイコンを変更したりできるし、画像ファイルで保存すれば、Iconstars_02 このようにWebで使える。

便利なのは、「グレップ」という機能で、あるフォルダ以下にあるファイルからアイコンをすべて抜き出し、一覧表示する。探したいアイコンがあるが、どの実行ファイルに含まれるかわからない、数が多いのでひとつひとつ開くのも面倒、という場合に使える。使ってみたら確かに便利で、以下のように表示できる。この場合は、Visual Studio 2005で使えるアイコンをすべて抜き出してみた。

Iconstars_03 クリックすると拡大します。

便利なソフトウェアだが、アイコンの使用には権利関係に気を付けたい。個人で使う分には問題ないことが多いが、加工して使ったり、Webなどに貼り出す場合には注意が必要だ。ちなみに、ここに表示されているものも、アイコンとして表示しているわけではないが、グレーである。

コメント