2015年10月15日木曜日

VB アイコンで嵌る

今迄、単に、気付かなかっただけかも知れませんが ... 。
自作のアプリ・ソフトで、独自のアイコンを割り当てると、何か、それらしくなって、上機嫌ですよね。
普通に実行している分には、.ico ファイル形式でさえあれば、中身に関係無く、それらしく、表示していますが ... 。
落とし穴が ... 。


さて、アイコンにも、規格があります。
   Windows デベロッパー センター アイコン  
   https://msdn.microsoft.com/ja-jp/library/windows/desktop/aa511280.aspx

しかし、本格的なものを作る訳でもない 大抵の 自作プログラマーには関係ないだろうと、タカ を括っていました。

今、作っているプログラムで問題が生じたのです。  アイコンの!。


さて、今迄は、 Express Edition でしたので、 アイコンの作成編集機能はなくて、
汎用の画像編集ソフトである GIMP で、アイコンを作っていました。
規格のサイズ 等は、遵守せず、 適当なサイズ(ワン サイズ)で作っていたのです。

確かに、作成割当したファイルは、 一応、ちゃんと機能している様でした。
表示されるサイズに応じて、OS が自動で縮小してくれていましたから。
勿論、サイズが可変で表示される以上、 デザイン センス の問題で、視認性を気にした事はあります。
でも、上のドキュメントを読む限り、敷居が高そうに思えて ... 。  面倒だなぁ と言うのが、正直な感想でした。

でもでも、 です。
こんな事に ... 。


あら、まぁ ... 。  これは 戴けませんね。  四角で囲った左。  右は訂正後。但し、VS2013Com.U5-.Net4 では 48 を表示 ?。 *1
    いえいえ、これは間違い。 ちゃんと 32 です。  *1

他のプロセスから、参照されて、 いい加減なアイコンの適当さが露呈 です。
適当な大きなサイズの ひとつ しか登録していない アイコンが ばればれ です。
第一、これでは、ボリューム調節すら出来やしない じゃぁないですか ... 。


と言う事で、 やっと、うん年ぶりに 重い腰を揚げ、アイコンを作り直して見ました。  四角で囲った右。

でも、規格通りではありません。
またもや、手抜き。

幾つかのサイズを個別に持つファイルにしただけです。
そのサイズ とは、
  • 16 x 16
  • 32 x 32
  • 48 x 48
  • 96 x 96
  • 128 x 128
  • 256 x 256   * 下のサイズで代用も有?
です。


これを見てお分かりの様に、 全てを同一デザインにするのは 無理 があります。

画像編集で、一番大きいサイズを縮小してみれば分りますが、
大きいものには 大きいものの、 小さいものには 小さいものの、 デザインが必要です。
大きいもののディテールなど、最小サイズでは消し飛んでしまい、もう、ただ、薄汚い だけになってしまいます。

作成のコツは、  GIMP の場合、
一番大きいサイズで作成して(パーツ毎にレイヤー化) 、
それを 規定サイズに 縮小しながら、 視認性を確認し、 デザインを工夫(変更)する事だと思います。
デザインの変更は、縮小で見難くなったパーツの簡素化や大きさ・位置の変更で対応します。
最終的には、各サイズ毎に レイヤー統合して、ファイル拡張子を .ico として保存します。

特に、頻繁に目にする事になる 16 32 48 の各サイズは、別デザインとしながらも、印象を統一するのがお勧めです。

GIMP で生成される各アイコンは以下の規格になります。
 16 / 32 は   8 bpp、1 Bit アルファ、 256 色パレット
 それ以外   24 bpp、 1 Bit アルファ、 パレットなし
最終的に用意した各レイヤーを レイヤーのサイズのままに(アイコンの大きさとして) アイコン ファイル化してくれます。


簡素に行くなら、 16 ~ 48 何れのサイズに縮小してもデザインが破綻しないものが作れればベストなのでしょうが。
シンプルなものを作るのは、意外と、難しいのですよね。

それに、左下の隅には、 ショートカット時の 識別アイコン (白い四角に青い矢印) が割り込んで来ますし、 ね。



[2015/10/22] VS2013 でアイコンサイズが違う件は間違いです。 古いアイコンファイルが登録されたままが原因でした。 *1.

0 件のコメント:

コメントを投稿