nach bitmap blitten erhalte ich schwarzen hintergrund

Cappaja

Erfahrenes Mitglied
hallo,

um komplexe datenmengen schneller verarbeiten zu können entschied ich mich für einen speicher-dc. nachdem blitten erhalte ich allerdings ein schwarzes rechteck, wenn ich die farbe der daten abändere sehe ich diese auch darin, der rest ist schwarz. gibt es eine möglichkeit nur die daten darzustellen und den hintergrund transparent zu lassen? ich habe nämlich im hintergrund gitternetzlinien und andere farben welche so einfach übermalt werden. ich hoffe ihr wisst was ich meine...

Code:
void CGraph::DataTransfer(LPVOID pParam)
{
	CDC* pDC = m_pWnd->GetDC();
	CDC memDC;
	memDC.CreateCompatibleDC(pDC);
	CBitmap* pOldBitmap;
	m_pBitmap = new CBitmap();
	m_pBitmap->CreateBitmap(m_nWidth, m_nHeight, 1, memDC.GetDeviceCaps(BITSPIXEL), NULL);
	pOldBitmap = memDC.SelectObject(m_pBitmap);

	CPen* pStandardPen;
	CPen  MyPen;

	MyPen.CreatePen(PS_SOLID, 1, RGB(255,255,255));
	pStandardPen = pDC->SelectObject(&MyPen);

	if(((CWiwoDlg*)AfxGetMainWnd())->pDP.d_dom != 0)
	{
		DoFT(pParam);
		DrawData(&memDC, pParam);
	}
	else
	{
		DrawData(&memDC, pParam);
	}

	pDC->BitBlt(InpRect.left, InpRect.top, m_nWidth, m_nHeight, &memDC, 0, 0, SRCCOPY);
	delete m_pBitmap;
}

gruß cappaja
 

Cappaja

Erfahrenes Mitglied
sorry für den thread, das problem hat sich doch schneller als gedacht gelöst!

beim blitten darf es keine source copy SRCCOPY sein sondern ein SRCPAINT:
Combines pixels of the destination and source bitmaps using the Boolean OR operator.

gruß cappaja