请教CDC,CBitmap创建兼容DC的用法
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了请教CDC,CBitmap创建兼容DC的用法相关的知识,希望对你有一定的参考价值。
我按照如下方式创建兼容DC进行绘图,在某些机器上偶尔CreateCompatibleBitmap会失败,有点怀疑是内存不足什么的,可是机器内存一般都是512m以上了怎么还会出这种问题呢?后续处理中需要加什么释放DC或者释放CBitmap对象之类的操作吗?
CDC m_MemDC; //成员变量,类对象被销毁时才被销毁
CBitmap m_Bitmap;
CClientDC dc(this);
m_MemDC.CreateCompatibleDC(&dc); //创建兼容DC
m_Bitmap.CreateCompatibleBitmap(&dc, 1024,768);
m_MemDC.SelectObject(&m_Bitmap);
为什么CreateCompatibleBitmap会失败呢?
)
CBitmap* pBitmap m_MemDC.SelectObject(&m_Bitmap);
........
m_MemDC.SelectObject(pBitmap); //这里是必要的。 参考技术A 在调用SelectObject选择兼容位图时,要同时调用BiBlt将函数原始设备描述表的颜色及像素数据复制到兼容设备描述表
MFC中的DC CDC HDC由来由去理解
MFC中的DC CDC HDC由来由去理解
在此非常感谢博客主的究竟钻研,非常详细的参考资料:http://blog.csdn.net/yam_killer/article/details/7661449
以上是关于请教CDC,CBitmap创建兼容DC的用法的主要内容,如果未能解决你的问题,请参考以下文章
如何在 CBitmap 上使用具有透明背景的 CDC 绘制文本?
MFC:CBitmapCreateCompatibleBitmap() 根据传递给它的两个兼容 CDC 给出不同的结果? [复制]