0

我正在使用以下代码来创建兼容的 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.width 和 rect.height 很大时它会得到不好的结果。(有足够的内存)。有人说它正在使用视频卡上的内存。是不是真的。我不太确定。

4

1 回答 1

3

内存CreateCompatibleBitmap从系统范围的池中分配,在 32 位版本的 Windows 上通常限制为大约 200 兆字节。

由于 WinNT4.0 CreateBitmap() API 在内核模式分页内存中分配位图。在 WinNT4 中创建大于 48 MB 的位图是不可能的。

你的极限是多少?

于 2009-08-03T07:57:06.930 回答