透明度(アルファ値)を含むアイコンの描画について
- 題名: 透明度(アルファ値)を含むアイコンの描画について
- 著者: kero
- 日時: 2004/12/19 19:06:43
- ID: 8096
- この記事の返信元:
- この記事への返信:
- ツリーを表示
- 題名: Re[1]: 透明度(アルファ値)を含むアイコンの描画について
- 著者: 管理人
- URL: http://dobon.net
- 日時: 2004/12/20 3:34:21
- ID: 8099
- この記事の返信元:
- この記事への返信:
- ツリーを表示
- 題名: Re[2]: 透明度(アルファ値)を含むアイコンの描画について
- 著者: kero
- 日時: 2004/12/20 22:40:25
- ID: 8129
- この記事の返信元:
- この記事への返信:
- ツリーを表示
分類:[.NET]
透明度(アルファ値)を含むアイコンの描画がうまくいかずに困っています。
たとえば,次のようなコードを実行したとします。
Dim bmp As New Bitmap(32, 32)
Dim g As Graphics = Graphics.FromImage(bmp)
g.DrawIcon(SystemIcons.Information, 0, 0)
PictureBox1.Image = bmp
アイコンそのものは描画されますが,透明度が指定されている部分が
「黒い影」のようになってしまい,正しく描画されません。
SystemIconsのメンバをError等,他のものを指定しても同様です。
こちらで調べた限りでは,Win32APIのDrawIconやDrawIconExなどを利用しても
同様の結果になります。最悪の場合,Image.FromFileメソッドを利用して
PictureBoxにアイコンをロードしたときも,透明度を含むアイコンの場合は,
同じように黒い影ができてしまい,うまくいきません。
一応,Paintイベントを利用し,上記の処理のように,Imageオブジェクトから
Graphicsを作成せずにアイコンの描画を行えば,黒い影ができないことは
わかっているのですが,どうも納得できません。
もしかして,現在のバージョンのGDI+では,透明度を含むアイコンを
正しく表示できないというのは,仕様なのでしょうか?
対処策等をご存じの方,どうかご教授をお願いいたします。