我对双缓冲还不是很了解 从网上找到一段代码 也不太明白 我现在想要利用双缓冲解决图片闪烁的问题
以下是我找到的关于双缓冲的代码 请问该怎样解决我想要在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();
以下是我找到的关于双缓冲的代码 请问该怎样解决我想要在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();
解决方案 »
- 征集各种用vc2008 express实现的GUI编程方法
- my.exe 中的 0x5d1a373e 处最可能的异常: 0xC0000005: 写入位置 0x00870434 时发生访问冲突
- 如何将一个文件的内容清空?
- 关于动态生成的菜单的消息响应问题,请教!
- 怎么在两个对话框之间传递变量?
- 我想请问以下,mscomm中的奇偶校验如何实现的啊,就是怎么用啊,我想利用它和单片机通信,谢谢了
- 那位仁兄有关于视频流(比如采集卡)的播放,录制方面的资料,500分求助!!!!!
- 各位高手请进
- 程序在XP下运行平均每秒会增加4K的内存,但在WIN7下运行是平均每秒几十K,求原因
- 如何取消别人的Hotkey并改为自己的Hotkey?
- lib的问题,请高手前来解答
- 界面问题
× MemBitmap.CreateCompatibleBitmap(&MemDC,nWidth,nHeight);√ MemDC.CreateCompatibleDC(pDC);//建立与屏幕显示内容兼容的内存显示设备
√ MemBitmap.CreateCompatibleBitmap(pDC,nWidth,nHeight);
=======
你上面的代码和这个要求好像不相干吧,你上面的代码只是先在内存DC中画一个填充的矩形,然后再贴到显示用的DC上去。