关于CDC保存内容到内存DC,再粘贴出来的疑问。
时间:2011-12-09
来源:互联网
C/C++ code
想要实现的效果是从当前DC中拷贝出一部分放到内存DC。
然后处理一下。
再显示出来。
上面代码想要实现的效果是rc区域不变。
可是出来的效果是rc区域被涂红。
问题在哪呢。
对DC这东西不太熟。
原来一知半解。
现在忘了差不多了。
CBrush MyBrush; MyBrush.CreateSolidBrush(RGB(255, 0, 0)); CDC old; old.CreateCompatibleDC(this->GetDC()); old.BitBlt(rc.left, rc.top, rc.Width(), rc.Height(), this->GetDC(), rc.left, rc.top, SRCCOPY); CClientDC dc(this); dc.FillRect(rc, &MyBrush); dc.BitBlt(rc.left, rc.top, rc.Width(), rc.Height(), &old, rc.left, rc.top, SRCCOPY);
想要实现的效果是从当前DC中拷贝出一部分放到内存DC。
然后处理一下。
再显示出来。
上面代码想要实现的效果是rc区域不变。
可是出来的效果是rc区域被涂红。
问题在哪呢。
对DC这东西不太熟。
原来一知半解。
现在忘了差不多了。
作者: na2650945 发布时间: 2011-12-09
要创建一个HBITMAP(CBitmap),内存DC要SelectObject把它选入。否则你没有缓冲区来保存啊!
作者: ndy_w 发布时间: 2011-12-09
你没有建立内存位图
作者: yhp1888 发布时间: 2011-12-09
C/C++ code
这次还有问题么?
还是没有达到我的效果呀。
CBrush MyBrush; MyBrush.CreateSolidBrush(RGB(255, 0, 0)); CDC old; old.CreateCompatibleDC(this->GetDC()); CBitmap oldBitmap; oldBitmap.CreateCompatibleBitmap(&old, rc.Width(), rc.Height()); old.SelectObject(oldBitmap); old.BitBlt(rc.left, rc.top, rc.Width(), rc.Height(), this->GetDC(), rc.left, rc.top, SRCCOPY); CClientDC dc(this); dc.FillRect(rc, &MyBrush); dc.BitBlt(rc.left, rc.top, rc.Width(), rc.Height(), &old, rc.left, rc.top, SRCCOPY);
这次还有问题么?
还是没有达到我的效果呀。
作者: na2650945 发布时间: 2011-12-09
贴完图把以前的再选回去
MemDC.SelectObject(pOldBitmap);
==============================================================================
This function returns the previously selected object of the specified type. An application should always replace a new object with the original, default object after it has finished drawing with the new object.
MemDC.SelectObject(pOldBitmap);
==============================================================================
This function returns the previously selected object of the specified type. An application should always replace a new object with the original, default object after it has finished drawing with the new object.
作者: echoyin59 发布时间: 2011-12-09
相关阅读 更多
热门阅读
-
office 2019专业增强版最新2021版激活秘钥/序列号/激活码推荐 附激活工具
阅读:74
-
如何安装mysql8.0
阅读:31
-
Word快速设置标题样式步骤详解
阅读:28
-
20+道必知必会的Vue面试题(附答案解析)
阅读:37
-
HTML如何制作表单
阅读:22
-
百词斩可以改天数吗?当然可以,4个步骤轻松修改天数!
阅读:31
-
ET文件格式和XLS格式文件之间如何转化?
阅读:24
-
react和vue的区别及优缺点是什么
阅读:121
-
支付宝人脸识别如何关闭?
阅读:21
-
腾讯微云怎么修改照片或视频备份路径?
阅读:28