4

.Net(C#)でこの種の形式を使用する方法はありますか?uTorrentがアプリで使用しているのと同じスキンフォーマットを使用したいのですが、透明な背景を取得できません。何か案は?御時間ありがとうございます。

4

3 に答える 3

3

次の 2 つのことを行う必要があります。

  • 背景としてビットマップをフォームにコピーします。
  • UpdateLayeredWindow (user32.dll) を呼び出して、ピクセルごとのアルファ透明度を有効にします。

コードは少しかさばりますが、ソース コード付きの非常に優れたサンプル アプリケーションを次に示します。C# のピクセル アルファ ブレンドごと

于 2008-10-09T08:32:36.167 に答える
2

PixelFormat 列挙には、.Net で作成できる「ビットマップ」の形式がリストされているため、PixelFormat.Format32bppArgb が必要です。

http://msdn.microsoft.com/en-us/library/system.drawing.imaging.pixelformat.aspx

http://msdn.microsoft.com/en-us/library/3z132tat.aspx

ただし、BMP ファイル形式が透過性をサポートしているかどうかは完全にはわかりません。そのため、ファイルをおそらく PNG ファイルとして保存する必要があります。

于 2008-09-03T12:18:52.697 に答える
2

BMP 形式はアルファ チャネルをサポートしていますが、Windows はそれを無視します。幸いなことに、フォーマットはかなり単純で、System.IO.BinaryReader を使用して読み取り、LockBits メソッドと UnlockBits メソッドを使用して Drawing.Bitmap を作成し、データを書き込むことができます。

于 2011-05-19T08:05:07.077 に答える