内存DC中的BITMAP为什么没法使用

zencher 2013-08-24 02:26:04
因为本人需要在一个内存DC中画图像,然后拷贝到CScrollView的DC中去,一开始一切都正常。

可以,现在想把内存DC中的画好的东西维护起来,然后再需要的时候再把HBITMAP选到内存DC中,然后再画到CScrollView。也就是通过:
HBITMAP bitmapToSave = (HBITMAP)SelectObject( m_MemDC, m_OldBitmap );

然后吧bitmapToSave维护起来。需要的时候再

SelectObject( m_MemDC, bitmapToSave );

可是就是画不出数据啊。。。郁闷了,似乎bitmapToSave中没有任何数据。。

求助啊~~~!!!本人只有67分,全给了
...全文
135 8 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
worldy 2013-09-25
  • 打赏
  • 举报
回复
然后吧bitmapToSave维护起来。需要的时候再 SelectObject( m_MemDC, bitmapToSave ); 然后,必须使用Bitblt或其它API画到目标dc
Joseph-Growth 2013-09-25
  • 打赏
  • 举报
回复
http://blog.csdn.net/joseph_happy/article/details/11653433我最近才写的一篇关于双缓冲,你可以参考,先在自己的画布(DC)上绘制,最后给拷贝到目的画板上就好了。
向立天 2013-09-25
  • 打赏
  • 举报
回复
您好 我是本版版主 此帖已多日无人关注 请您及时结帖 如您认为问题没有解决可按无满意结帖处理 另外本版设置了疑难问题汇总帖 并已在版面置顶 相关规定其帖子中有说明 您可以根据规定提交您帖子的链接 如您目前不想结帖只需回帖说明 我们会删除此结帖通知 见此回复三日内无回应 我们将强制结帖 相关规定详见界面界面版关于版主结帖工作的具体办法
fishion 2013-08-25
  • 打赏
  • 举报
回复
你应该再创建一个dc来保存的,把临时的图数据绘制到这里
schlafenhamster 2013-08-24
  • 打赏
  • 举报
回复
复制到 剪贴板: #ifdef TEST HBITMAP bitmapToSave = (HBITMAP)SelectObject( m_MemDC, m_OldBitmap ); OpenClipboard(0); EmptyClipboard(); SetClipboardData(CF_BITMAP,bitmapToSave); CloseClipboard(); #endif
zencher 2013-08-24
  • 打赏
  • 举报
回复
引用 2 楼 schlafenhamster 的回复:
要在 m_MemDC 里 有了 bmp 后,(也就是绘制完了后) HBITMAP bitmapToSave = (HBITMAP)SelectObject( m_MemDC, m_OldBitmap );
肯定是有画了啊,只是这个代码没贴出来。。。
schlafenhamster 2013-08-24
  • 打赏
  • 举报
回复
要在 m_MemDC 里 有了 bmp 后,(也就是绘制完了后) HBITMAP bitmapToSave = (HBITMAP)SelectObject( m_MemDC, m_OldBitmap );
zjwzcnjsy 2013-08-24
  • 打赏
  • 举报
回复
你这只是把bitmapToSave选进m_MemDC里把,还有把m_MemDC的拷到你要画的dc里才行吧!

15,980

社区成员

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

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