怎么将一个DC上的内容复制到CBitmap类型的图片上,速度求帮助

wanglu343280746 2013-06-27 06:01:35
现在我有个内存DC CDC memdc;接下来我会在memdc上面绘图;
现在有个CBitmap bitmap; 怎么将我在memdc上面画的图保存在bitmap里面呢。
我只做了一步bitmap.CreateCompatibleBitmap(&memdc, 宽,高);
然后就在memdc上开始画图了,最后bitmap里面没有内容,只是黑色的背景,这个怎么办啊?
怎样才能让bitmap里面保存到memdc的内容呢?
...全文
161 7 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
w327115047 2014-05-09
  • 打赏
  • 举报
回复
CDC memDC;//内存DC CBrush *pBrush = CBrush::FromHandle((HBRUSH)GetStockObject(NULL_BRUSH)); memDC.CreateCompatibleDC(pDC); CBitmap memBitmap, *oldmemBitmap;//建立和屏幕兼容的bitmap memBitmap.CreateCompatibleBitmap(pDC, Width, Height); oldmemBitmap = memDC.SelectObject(&memBitmap);//将memBitmap选入内存DC memDC.BitBlt(0, 0, Width, Height, pDC, 0, 0, SRCCOPY);//复制屏幕图像到内存DC memDC.SelectObject(pBrush); /*图形绘制代码 */ 这时候memBitmap 里面就保存了你绘制的图形了
向立天 2013-07-29
  • 打赏
  • 举报
回复
您好 我是本版版主 此帖已多日无人关注 请您及时结帖 如您认为问题没有解决可按无满意结帖处理 另外本版设置了疑难问题汇总帖 并已在版面置顶 相关规定其帖子中有说明 您可以根据规定提交您帖子的链接 如您目前不想结帖只需回帖说明 我们会删除此结帖通知 见此回复三日内无回应 我们将强制结帖 相关规定详见界面界面版关于版主结帖工作的具体办法
schlafenhamster 2013-06-28
  • 打赏
  • 举报
回复
oldmemBitmap = memDC.SelectObject(&memBitmap);//将memBitmap选入内存DC memDC.BitBlt(0, 0, Width, Height, pDC, 0, 0, SRCCOPY);//复制屏幕图像到内存DC memDC.SelectObject(oldmemBitmap); 这样 memBitmap 就可以用了
yaozhiyong110 2013-06-28
  • 打赏
  • 举报
回复
自己去研究下双缓冲原理 都是在dc上画...
yaozhiyong110 2013-06-28
  • 打赏
  • 举报
回复
你那个位图就是底色 memDC本来画的就是画到pDC里面去了 怎么会画到bitmap里?
wanglu343280746 2013-06-27
  • 打赏
  • 举报
回复
引用 1 楼 lgstudyvc 的回复:
bitblt(,,,,,,) msdn
不行啊,我试过,可能我用的方法不对吧,你能具体讲一下吗? CDC memDC;//内存DC memDC.CreateCompatibleDC(pDC); CBitmap memBitmap, *oldmemBitmap;//建立和屏幕兼容的bitmap memBitmap.CreateCompatibleBitmap(pDC, Width, Height); oldmemBitmap = memDC.SelectObject(&memBitmap);//将memBitmap选入内存DC memDC.BitBlt(0, 0, Width, Height, pDC, 0, 0, SRCCOPY);//复制屏幕图像到内存DC 我用的这个方法,这个memmBitmap里面应该保存pDC上内容 对吗?
lgstudyvc 2013-06-27
  • 打赏
  • 举报
回复
bitblt(,,,,,,) msdn

15,978

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 界面
社区管理员
  • 界面
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧