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.