Minulla on kummallinen ongelma. Kun teen CreateBitmapilla mustavalkoisen bittikartan, siitä tuleekin sinivalkoinen. Mistähän johtunee?
Tässä vielä koodi:
HDC CreateMask(HDC image, int x, int y)
{
HDC mask;
HBITMAP mask_;
mask=CreateCompatibleDC(hdc);
mask_=CreateBitmap(x,y,1,1,NULL);
SelectObject(mask,mask_);
SetBkColor(image,RGB(0,0,0));
BitBlt(mask,0,0,x,y,image,0,0,SRCCOPY);
return mask;
}CreateBitmapin viimeisestä parametrista kerrotaan MSDN:ssä seuraavaa: "If this parameter is NULL, the contents of the new bitmap is undefined."
Johtuisikohan tuosta? Kokeile piirtää maskiin ensin Rectangle-funktiolla neliö (tai tyhjentää se muuten, vaikka Fill-funktiolla).
Tuo ei toiminut, mutta löysinkin jo syyn. Piirtopinnan foreground color oli säädetty siniseksi, elikkäs SetTextColor(hdc,RGB(0,0,0)) auttoi. Kiitos silti avusta.
Aihe on jo aika vanha, joten et voi enää vastata siihen.