在vc中使用双缓冲显示技术,图像显示不出来,代码如下,请问高手哪里有问题

CBitmap*bmp=pDlg->ToBitmap(pDlg->ptrGrabResult);//将捕获的结果转换成bitmapCDC*pDC=pDlg->GetDlg... CBitmap* bmp = pDlg->ToBitmap(pDlg->ptrGrabResult);//将捕获的结果转换成bitmap
CDC *pDC = pDlg->GetDlgItem(IDC_STATIC_PIC)->GetDC();//得到picture控件的dc
pDlg->GetDlgItem(IDC_STATIC_PIC)->GetClientRect(&rect);//获取可显示的矩形区域
CDC dcMem;
CBitmap *pOldBitmap = NULL;
dcMem.CreateCompatibleDC(pDC);//创建一个内存环境,以便在内存中保存位图,并与指定的窗口设备环境兼容
pOldBitmap = dcMem.SelectObject(bmp);//将位图调入到设备内存环境
pDC->BitBlt(rect.left,rect.top,rect.Width(),rect.Height(),&dcMem,0,0,SRCCOPY);//将位图复制到实际设备环境
//dcMem.SelectObject(pOldBitmap);//位图选入内存环境中显示后,恢复到原来的内存设备环境
pDlg->ReleaseDC(pDC);
dcMem.DeleteDC();
展开
 我来答
归悦欣cf
2013-02-22 · TA获得超过1444个赞
知道大有可为答主
回答量:4250
采纳率:59%
帮助的人:1327万
展开全部
如果这些代码是在一个函数里面的话,这个函数是如何被调用的,并不是调用pDC->BitBlt就可以显示出来的。比如调用pDC->BitBlt之前需要使得picture控件先变成无效。
追问
不太明白,能再清楚一点吗
碧草青剑
2013-03-01 · TA获得超过1047个赞
知道小有建树答主
回答量:6076
采纳率:0%
帮助的人:1494万
展开全部
如果代码里面的函数,这个函数是如何调用,不调用PDC-> BitBlt函数可以显示。的图像控制功能,如来电PDC-> BitBlt函数首先成为无效。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
ye放任
2013-02-21
知道答主
回答量:23
采纳率:0%
帮助的人:21万
展开全部
看看取得的 bmp 是否为空
追问
bmp不为空,就是显示不出来
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式