我使用了下列代码,以创建一个兼容的DC:

m_pDC=new CDC();
VERIFY(m_pDC->CreateCompatibleDC(sampleDC);
CBitmap bitmap; 
if (bitmap.CreateCompatibleBitmap(sampleDC, rect.Width(), rect.Height()))
{
   m_pOldBitmap = m_pDC->SelectObject(&bitmap);
}

我的问题是CDC CBitmap被占领的记忆?如果使用的存储器,为什么它得到不好的结果时rect.宽度和rect.高度很大。(有足够的存储器)。有人说它是使用存储在视频卡。它是真实的。我不是很确定。

有帮助吗?

解决方案

存在 CreateCompatibleBitmap 被分配从全系统池 通常有限 约200兆字节的32位版本的Windows。

由于WinNT4.0 CreateBitmap()API分配的位在内核模式的页面缓冲存储器。在WinNT4这是不可能创造位图大超过48兆。

你有什么限制?

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top