CreateDIBitmap のトラブルシューティングを知っている人向け
私がそれを作成するとき、うまくいけばすべてのパラメータを正しく渡し、データ配列(ビット配列)を渡して作成します。この配列は、同じビットマップから取得されます (アイデアは、新しいコピーを作成することです; テスト目的で)。しかし、作成後 (正しいハンドルが返されます)、ビットマップは正しいですが、パレットは白黒です。色はありません。なんで?知るか?
あなたの最初のコメントが問題の鍵です。CreateCompatibleDC()を介して取得したメモリデバイスコンテキストを使用しており、メモリDCで選択されるデフォルトのビットマップはモノクロ(ピクセルあたり1ビット)です。
CreateDIBitmap()は、そのデバイスコンテキストを使用して、作成するDIBのビット深度を決定するため、モノクロのDIBになります。
CreateDIBSection()を使用して独自のビット深度を指定することもできますが、最も簡単な解決策は、おそらくの代わりにに渡すhdcScreen
ことです。CreateDIBitmap()
compatibleDC