0

CreateDIBitmap のトラブルシューティングを知っている人向け

私がそれを作成するとき、うまくいけばすべてのパラメータを正しく渡し、データ配列(ビット配列)を渡して作成します。この配列は、同じビットマップから取得されます (アイデアは、新しいコピーを作成することです; テスト目的で)。しかし、作成後 (正しいハンドルが返されます)、ビットマップは正しいですが、パレットは白黒です。色はありません。なんで?知るか?

4

1 に答える 1

4

あなたの最初のコメントが問題の鍵です。CreateCompatibleDC()を介して取得したメモリデバイスコンテキストを使用しており、メモリDCで選択されるデフォルトのビットマップはモノクロ(ピクセルあたり1ビット)です。

CreateDIBitmap()は、そのデバイスコンテキストを使用して、作成するDIBのビット深度を決定するため、モノクロのDIBになります。

CreateDIBSection()を使用して独自のビット深度を指定することもできますが、最も簡単な解決策は、おそらくの代わりにに渡すhdcScreenことです。CreateDIBitmap()compatibleDC

于 2011-07-12T22:37:47.080 に答える