gdi+ bitmap :: gethbitmapによって取得したHbitmapからモノクロビットマップを作成できません

StackOverflow https://stackoverflow.com/questions/4575439

質問

setBkColor()> Bitblt [srccopy]を使用して、24bppカラー画像のモノクロマスクを作成することはできません。マスクは完全に黒くなります。全体は、代わりにroadimage()を使用してHBITMAPを取得する場合にのみ機能します。

Bitmap img(L"Ball.bmp");
HBITMAP hBM;
img.GetHBITMAP(Color::White, &hBM);
//hBM = LoadBitmap(GetModuleHandle(NULL), MAKEINTRESOURCE(IDB_BALL));
.
.
SelectObject(hDCSrc, hBM);
SetBkColor(RGB(0xFF, 0xFF, oxFF));
BitBlt(hDCMem, 0, 0, img.GetWidth(), img.GetHeight(), hDCSrc, 0, 0, SRCCOPY);

//hDCMem is copletely black; but OK when using LoadImage() instead

同じ問題を抱えている他の人々は、グラフィック:: GethDCの使用を提案し、このDCで必要なことを回避策として行うことを提案しています。しかし、なぜそれが機能するように機能しないのですか。

この回避策でさえ、作品。助けてください :(

役に立ちましたか?
ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top