Ich kann nicht monochromer Bitmap von HBitmap erstellen von GDI+ Bitmap :: Gethbitmap
-
14-10-2019 - |
Frage
Ich kann keine Monochrommaske für ein 24BPP -Farbbild mit setBkColor ()> Bitblt [SRCCOPY] erstellen. Die Maske endet völlig schwarz. Das Ganze funktioniert nur, wenn ich LoadImage () verwende, um die Hbitmap zu erhalten.
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
Andere Personen mit dem gleichen Problem haben vorgeschlagen, Grafiken zu verwenden :: Gethdc und das Erfordernis mit diesem DC als Problemumgehung. Aber warum funktioniert es nicht so, wie es sollte?
Sogar diese Arbeit umgehalten. Bitte helfen Sie :(
Lösung
Ich habe es gelöst:Wie man eine monochrome Bitmaske für eine 32 -Bit -Bitmap genratet
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow