Impossible de créer Monochrome Bitmap de HBITMAP obtenu par GDI + Bitmap :: GetHBITMAP
-
14-10-2019 - |
Question
Je ne parviens pas à créer un masque monochrome pour une image couleur avec 24bpp SetBkColor ()> BitBlt [SRCCOPY]. Le masque se termine complètement noir. La chose entière ne fonctionne que si j'utilise LoadImage () au lieu d'obtenir le 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
D'autres personnes avec le même problème ont suggéré d'utiliser Graphics :: GetHDC et de faire le nécessaire avec ce contrôleur de domaine comme solution de contournement. Mais pourquoi il ne fonctionne pas comme il se doit.
Même ce vacarme de solution travail. S'il vous plaît aider: (
La solution
a résolu le problème: Comment genrate un peu monochrome pour masquer un bitmap 32bit
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow