0

いくつかのダイアログを含む Windows アプリがあります。ダイアログは mfc を使用して構築されています。CImage::Draw() メソッドを使用して、すべてのダイアログでいくつかの画像 (.png) を描画しています。ダイアログで画像コントロールを使用してこれらの画像をレンダリングするのではなく、ハンドルを使用して実行時にそれらをロードしていることに言及したいと思います。画像が読み込まれると、これらの画像の背景が白くなります。リソース ファイル内の画像の背景は白ではありません。私の質問は、ダイアログに描画しながらこれらの画像の背景を変更する方法ですか? 使用しているデフォルトのダイアログの色に似た画像の背景が必要です。もう 1 つの質問は、Windows Server 2008 R2 マシンのダイアログで .png 画像がうまくレンダリングされない (画像が散らばっている) ことです。これに対する可能な救済策は何ですか?どんな助けでも大歓迎です。

4

1 に答える 1

1

PNG 画像は明らかに 32 ビットではありません。アルファ チャネルと透明な背景が必要です。Paint.NET などで画像を開きます。あなたの背景もそこに白いに違いない!画質に関してですが、描画時に画像を引き延ばしていますか?

編集: 8 ビット イメージャーの場合、SetTransparentColorの呼び出しが必要だと思います。32 ビット画像の場合、おそらく次の関数で実行できます

于 2012-09-26T21:54:11.807 に答える