1

Visual C++ 2010 で、MFC ウィザードによって生成された小さなアプリケーションをいじっています。独自のビットマップをリソースに配置して、リボン UI アプリケーション ボタン (別名) に表示される 3 つのキューブ MFC ビットマップを置き換えることにしました。 「大理石」。

オリジナルは透明色として黒 (0,0,0) を使用しているように見えましたが、Visual Studio 2010 の MFC リボン (mfc-feature-pack など) がビットマップの透明度を決定するために何をするかを判断できません。リボンのメイン アイコン。

リボン (IDR_RIBBON) のプロパティは Image=IDB_MAIN を示しており、IDB_MAIN は BMP 形式の 32x32 ビットマップであり、main.bmp というディスク ファイルからロードされます。

このプロジェクトのビットマップ リソースのいくつかは、私が期待するようなものを持っています: 透明になるマゼンタ色ですが、MFC メイン ビットマップはこの配色またはパレットを使用しませんでした。

実際の結果の例を次に示します。これは、結果が私が望んでいたものではないことを示していることを願っています。 代替テキスト

ちなみに、アプリケーション ボタンで ICON リソースを使用することはできないようです。

4

2 に答える 2

2

透明度のためのアルファ チャネルを持つ 32 ビット ビットマップを作成する必要があります。私がこれを行った方法はそれほど簡単ではありませんが、私が思いついた唯一の方法でした.

  • Paint.Net を使用して、ソース イメージを透過性を保持する PNG に変換します。残念ながら、Paint.Net は 32 ビット ビットマップの直接作成をサポートしていません。
  • 次に、PNG ファイルから 32 ビット ビットマップを作成できるAlphaConvをダウンロードします。
于 2010-09-29T17:55:30.980 に答える
1

おそらく半透明のPNG?BMP ファイルにもアルファ チャンネルを含めることができることをご存知ですか?

于 2010-09-29T17:30:17.133 に答える