我对双缓冲还不是很了解 从网上找到一段代码 也不太明白 我现在想要利用双缓冲解决图片闪烁的问题
以下是我找到的关于双缓冲的代码 请问该怎样解决我想要在rect(100,100,200,200)中读取一个Cvvimg img图片的任务呢?谢谢各位高手的指点CBitmap MemBitmap;//创建一个位图既画布
 CDC MemDC;//画笔
   CRect rect;
CPoint ptCenter;
GetClientRect(&rect);
ptCenter=rect.CenterPoint();

MemDC.CreateCompatibleDC(NULL);//建立与屏幕显示内容兼容的内存显示设备
    MemBitmap.CreateCompatibleBitmap(&MemDC,nWidth,nHeight);
CBitmap *pOldBit=MemDC.SelectObject(&MemBitmap);//将位图添加到内存显示设备表
    MemDC.FillSolidRect(rect,pDC->GetBkColor());
    
pDC->BitBlt(0,0,nWidth,nHeight,&MemDC,0,0,SRCCOPY);//将内存图像考到前台
MemBitmap.DeleteObject();
MemDC.DeleteDC();

解决方案 »

  1.   

    × MemDC.CreateCompatibleDC(NULL);//建立与屏幕显示内容兼容的内存显示设备
    × MemBitmap.CreateCompatibleBitmap(&MemDC,nWidth,nHeight); MemDC.CreateCompatibleDC(pDC);//建立与屏幕显示内容兼容的内存显示设备
     MemBitmap.CreateCompatibleBitmap(pDC,nWidth,nHeight);
      

  2.   

    请问该怎样解决我想要在rect(100,100,200,200)中读取一个Cvvimg img图片的任务呢?谢谢各位高手的指点
    =======
    你上面的代码和这个要求好像不相干吧,你上面的代码只是先在内存DC中画一个填充的矩形,然后再贴到显示用的DC上去。
      

  3.   

    MSDN->Ipicture类 render成员函数绘图