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: (

Était-ce utile?
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top