TransparentBlt 函数的使用
BOOL TransparentBlt(
HDC hdcDest, // 目标DC
int nXOriginDest, // 目标X偏移
int nYOriginDest, // 目标Y偏移
int nWidthDest, // 目标宽度
int hHeightDest, // 目标高度
HDC hdcSrc, // 源DC
int nXOriginSrc, // 源X起点
int nYOriginSrc, // 源Y起点
int nWidthSrc, // 源宽度
int nHeightSrc, // 源高度
UINT crTransparent // 透明色,COLORREF类型
);
使用时需要链接 Msimg32.lib。
使位图中背景为黑色RGB(0,0,0))透明,
CBitmap bitmap;
bitmap.LoadBitmap(IDB_BITMAP);
CDC *pDC=GetDC();
CDC memDC;
memDC.CreateCompatibleDC(pDC);
memDC.SelectObject(&bitmap);
TransparentBlt(pDC->m_hDC, 0, 0, 48, 48, memDC.m_hDC, 0, 0, 48, 48, RGB(0,0,0));