Kirjautuminen

Haku

Tehtävät

Keskustelu: Ohjelmointikysymykset: C++: CreateBitmap

nakkikorva [16.02.2005 16:40:00]

#

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;
}

Metabolix [16.02.2005 19:25:49]

#

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).

nakkikorva [16.02.2005 19:36:17]

#

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.

Vastaus

Aihe on jo aika vanha, joten et voi enää vastata siihen.

Tietoa sivustosta