windows7下DirectDraw诡异的Blt和BltFast
最近把办公系统升级到了windows7,使用directDraw播放的时候,遇到了一个很诡异的问题。
2个后表面m_pBBuf(主后表面)和m_pBBStatus(状态透明层),将m_pBBStatus透明色copy到m_pBBuf上
m_pBBuf->Blt(&m_rcDes, m_pBBStatus, &m_rcDes, DDBLT_WAIT | DDBLT_KEYSRC, NULL);
m_pBBuf->BltFast(0, 0, m_pBBStatus, &m_rcDes, DDBLTFAST_WAIT | DDBLTFAST_SRCCOLORKEY);
无论是使用Blt还是BltFast,只要调用一次blt,m_pBBuf上的图像反而被复制到了m_pBBStatus上……
在m_pBBStatus上绘制的透明状态全部丢失,非常的诡异,代码在的winxp下一直正常工作。
请教达人,是不是我哪里有不理解的地方,blt为何会影响到lpDDSrcSurface?