9

C#アプリケーションでアルファチャネル(PNGとしましょう)で画像を正しく表示する方法はありますか? ご提案ありがとうございます。

アップデート:

OK、私の質問は少し不正確でした。親の背景色で塗りつぶすのではなく、アルファチャンネルの実際の透明度を取得したいと思います。下の画像では、透明度がサポートされていることがわかりますが、画像の下にあるボタンの部分は表示されていません。画像のアルファ チャネルを実際に透明にすることは可能ですか?

完全ではない透明度を示す画像

4

3 に答える 3

8

それがwinformsならいいえ。winforms の「透明性」は、実際の透明性ではありません。

あなたができることは、PNGを描画し、それを正しい場所に配置し、移動などをバインドするalphatransparentフォームを作成することです. 代替テキスト http://www.codeproject.com/KB/GDI-plus/perpxalpha_sharp.aspx

PerPixelAlphaForm transparentImageForm = new PerPixelAlphaForm();
transparentImageForm.SetBitmap(<IMAGE GOES HERE>,<OPACITY GOES HERE>);

// opacity は、画像が描画される不透明度です。値 255 = すべての透明部分は、元の PNG と同じようにアルファ/透明になります。

編集: または WPF に移動します。

于 2010-06-24T13:53:33.753 に答える
3

はい、System.Drawing.Image.FromFile( "filename.png"); .NET Frameworkは、複数のファイルタイプの透過性をサポートしています。JPEGでは機能しないと思いますが、PNGで問題ありません。

于 2010-06-24T12:47:53.167 に答える
0

次の MSDN リンクが役立ちます。

WPF: http://msdn.microsoft.com/en-us/library/aa970062.aspx

Windows: http://msdn.microsoft.com/en-us/library/stf701f5.aspx

System.Drawing.Image.FromFile メソッドについて:

マネージド GDI+ には、次のファイルの種類をサポートする組み込みのエンコーダーとデコーダーがあります。
- BMP
- GIF
- JPEG
- PNG
- TIFF

于 2010-06-24T13:02:15.940 に答える