
トースト通知ソフト「ToastNotify」の ver.0.9.1を公開します。
今回はあるユーザーさんにご指摘され、不具合を修正しました。/iオプションにフルカラーでなく 256色の画像しか入っていないアイコンを指定した場合、正しく表示されていませんでした。
どうも、DrawIconExによる描画に問題あったようです。既にテキスト部の出力に使用していた GDI+ではどうかと思い、DrawImageメソッドに変更すると今度は 256色のアイコンは正しく表示されるのに、アルファチャンネルをもったフルカラーアイコンのマスク部分がきれいに表示されません。いろいろ数時間かけて調べた結果、Dot Net Tips & Tricksの Get Alpha Bitmap from 32 bit Icon.
に答えがありました。GDI+では 32bitアイコンからアルファチャンネル ビットマップを正しく取得できないみたい。。。サンプルを元に変更し、GDI+で両方のアイコンを表示できるように対応しました。
また、怪我の功名で、GDI+の DrawImageを使うことで、一つのメソッドで複数の画像ファイル指定にも対応できるようになりました。拡張子のフィルタリングはあえて行っていませんが、少なくとも BMP・PNG・TIFF・GIF画像がそれぞれアイコンとして表示できることを確認しています。ただ、スキンモジュールのサイズ指定によるので、自動的に縮小、または拡大が行われることに留意ください。
ついでにデフォルトの背景画像をちょっと変更しました!

