M
Wie kann ich aus dem CDC
CDC *pDC = GetDC();
und der Transparenten Ebene
// Aus Orignal-Bitmap Hintergrund entfernen
m_pTransMemDC->SetBkColor(RGB(255,255,255));
// Negativ von S/W Bitmap, HG ist nun schwarz (RGB:0,0,0)
m_pMaskMemDC->BitBlt(0,0,m_nTransBmpWidth,m_nTransBmpHeight,
m_pMaskMemDC,0,0, DSTINVERT );
// geladene Bitmap mit negativ von S/W-Bitmap verunden
// --> HG der geladenen Bitmap ist nun schwarz
m_pTransMemDC->BitBlt(0,0,m_nTransBmpWidth,m_nTransBmpHeight,
m_pMaskMemDC,0,0, SRCAND );
// Mask wieder restaurieren (HG ist weiss = 0xFFFFFF)
m_pMaskMemDC->BitBlt(0,0,m_nTransBmpWidth,m_nTransBmpHeight,
m_pMaskMemDC,0,0, DSTINVERT );
welche ich wunderbar mittels
pDC->BitBlt(10,10,m_nTransBmpWidth,m_nTransBmpHeight,pMaskMemDC,0,0,SRCAND);
pDC->BitBlt(10,10,m_nTransBmpWidth,m_nTransBmpHeight,m_pTransMemDC,0,0,SRCPAINT);
durchsichtig anzeigen lassen kann,
nun in ein neues CDC reinpacken um daraus das durchsichtige Bitmap weiter verarbeiten zu können ?
Dieser Versuch
CDC *temp = new CDC;
temp->CreateCompatibleDC(m_pMaskMemDC);
temp->BitBlt(0,0,m_nTransBmpWidth,m_nTransBmpHeight,pDC,0,0,SRCCOPY);
temp->BitBlt(10,10,m_nTransBmpWidth,m_nTransBmpHeight,m_pMaskMemDC,0,0,SRCAND);
// Bereits das da oben geht nicht... wie soll dann das da unten gehen...
CBitmap *b_map = new CBitmap;
b_map->CreateCompatibleBitmap(temp, m_nTransBmpWidth, m_nTransBmpHeight);
Geht schonmal irgendwie nicht
Wäre nett, wenn mir einer nen Tipp geben könnte.