void CPoker::Show(CDC *pDC,int Side)
{
CDC BitmapDC,MaskDC;
BitmapDC.CreateCompatibleDC (pDC);
MaskDC.CreateCompatibleDC (pDC);
BitmapDC.SelectObject(Side&(~Deceit)?Poker:Images[Which]);
MaskDC.SelectObject(&Mask);
MaskDC.BitBlt(Left,Top,71,96,&BitmapDC,0,0,SRCCOPY);
pDC->BitBlt(Left,Top,71,96,&BitmapDC,0,0,SRCINVERT);
pDC->BitBlt(Left,Top,71,96,&MaskDC,0,0,SRCAND);
pDC->BitBlt(Left,Top,71,96,&BitmapDC,0,0,SRCINVERT);
}
这里显示看不太懂,pDC->BitBlt(Left,Top,71,96,&BitmapDC,0,0,SRCCOPY);这样显示的话图像会不清晰,哪位达人帮忙解释下,谢谢。

解决方案 »

  1.   

    void CPoker::Show(CDC *pDC,int Side)
    {
        CDC BitmapDC,MaskDC; // 声明两个dd
        BitmapDC.CreateCompatibleDC (pDC); // 然后create..(内存dc) 
        MaskDC.CreateCompatibleDC (pDC);   // ......
        BitmapDC.SelectObject(Side&(~Deceit)?Poker:Images[Which]); // 判断某方?然后选入(Which)位图
        MaskDC.SelectObject(&Mask);                                // 这个选入蒙版(用来透明Blt)
        MaskDC.BitBlt(Left,Top,71,96,&BitmapDC,0,0,SRCCOPY);       // 制造蒙版
        pDC->BitBlt(Left,Top,71,96,&BitmapDC,0,0,SRCINVERT);       // 以下三步直接透明合成屏幕. 异或
        pDC->BitBlt(Left,Top,71,96,&MaskDC,0,0,SRCAND);            // 与
        pDC->BitBlt(Left,Top,71,96,&BitmapDC,0,0,SRCINVERT);       // 异或
    }
    ===========================
    ms没你这句: pDC->BitBlt(Left,Top,71,96,&BitmapDC,0,0,SRCCOPY); 哦~~~够清楚未?
      

  2.   

    另:
    void CPoker::Show(CDC *pDC,int Side) 

        CDC BitmapDC,MaskDC; // 声明两个dd 
        BitmapDC.CreateCompatibleDC (pDC); // 然后create..(内存dc) 
        MaskDC.CreateCompatibleDC (pDC);  // ...... 
        BitmapDC.SelectObject(Side&(~Deceit)?Poker:Images[Which]); // 判断某方?然后选入(Which)位图 
        MaskDC.SelectObject(&Mask);                                // 这个选入蒙版(用来透明Blt) 
        MaskDC.BitBlt(Left,Top,71,96,&BitmapDC,0,0,SRCCOPY);      // 制造蒙版 
        pDC->BitBlt(Left,Top,71,96,&BitmapDC,0,0,SRCINVERT);      // 以下三步直接透明合成屏幕. 异或 
        pDC->BitBlt(Left,Top,71,96,&MaskDC,0,0,SRCAND);            // 与 
        pDC->BitBlt(Left,Top,71,96,&BitmapDC,0,0,SRCINVERT);      // 异或 
    } 这段代码只选入不选出,肯定造成GDI资源泄漏..good luck
      

  3.   

    顶 ======================================== 
    提界面问题,UIPower有问必答! 
    界面论坛:http://www.uipower.com/bbs