请教一下TransparentBlt的用法,为什么我在ondraw里写了如下几句,却什么也不显示
CBitmap blt;
blt.LoadBitmap(IDB_BITMAP2);
CDC comDC;
comDC.CreateCompatibleDC(NULL);
comDC.SelectObject(blt);
TransparentBlt(pDC->m_hDC,0,0,200,200,comDC.m_hDC,0,0,100,100,RGB(255,255,255));
CBitmap blt;
blt.LoadBitmap(IDB_BITMAP2);
CDC comDC;
comDC.CreateCompatibleDC(NULL);
comDC.SelectObject(blt);
TransparentBlt(pDC->m_hDC,0,0,200,200,comDC.m_hDC,0,0,100,100,RGB(255,255,255));
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类型
);
comDC.CreateCompatibleDC(pDC);
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类型
);
改成其他stretchblt则有效果.
-->
参数不能为NULL,应该为你当前设备句柄
comDC.CreateCompatibleDC(pDC);
blt.LoadBitmap(IDB_BITMAP2);------>blt.LoadBitmap(IDB_BITMAP1);
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类型
);
blt.LoadBitmap(IDB_BITMAP1);
CDC comDC;
comDC.CreateCompatibleDC(pDC);
comDC.SelectObject(blt);
TransparentBlt(pDC->m_hDC,0,0,16,16,comDC.m_hDC,0,0,48,48,RGB(255,255,255));我的bitmap是32*32的