GDI+实现半透明的问题?
现有一张单色的黑白单象素(相邻象素的颜色均不同)相间的位图一张,导入到资源当中.资源标识符为IDB_PATTERN.用gdi实现半透明了红色半透明的效果.我现在想用GDI+来实现目前的GDI功能,不知道如何去做,请高手指教!GDI实现的源码如下:
CDC *pMDC;
pMDC = GetDC();
CRect rect(10, 10, 100, 100);
CBitmap bmp;
bmp.LoadBitmap(IDB_PATTERN);
CBrush brhBmpBrush, brhRedBrush;
CBrush *pOldBrush;
brhBmpBrush.CreatePatternBrush(&bmp);
brhRedBrush.CreateSolidBrush(RGB(0xFF, 0x0, 0x0));
pOldBrush = (CBrush *)pMDC->SelectObject(&brhRedBrush);
pMDC->SetBkColor(RGB(0, 0, 0));
pMDC->SetROP2(R2_XORPEN);
pMDC->Rectangle(&rect);
pMDC->SelectObject(brhBmpBrush);
pMDC->SetBkColor(RGB(0xFF, 0xFF, 0xFF));
pMDC->SetROP2(R2_MASKPEN);
pMDC->Rectangle(&rect);
pMDC->SelectObject(brhRedBrush);
pMDC->SetBkColor(RGB(0, 0, 0));
pMDC->SetROP2(R2_XORPEN);
pMDC->Rectangle(&rect);
pMDC->SelectObject(pOldBrush);