我使用以下代码创建兼容的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很大时它会得到不好的结果。 (有足够的记忆)。 有人说它在视频卡上使用内存。是真的吗我不是很确定。
答案 0 :(得分:3)
CreateCompatibleBitmap
中的内存在32位版本的Windows上从系统范围的池typically limited分配到大约200兆字节。
Since WinNT4.0 CreateBitmap()API在内核模式分页内存中分配位图。在WinNT4中,无法创建大于48 MB的位图。
你的限制是什么?