// m_pRect是显示图片的整个ScrollView的尺寸
// pMemDC是显示图像时用DrawDIBDraw写入数据的
CBitmap backBitmap;
backBitmap.CreateCompatibleBitmap(pDC, m_pRect->Width(), m_pRect->Height());
m_pBackDC = new CDC;
m_pBackDC->CreateCompatibleDC(pDC);
m_pBackDC->SelectObject(&backBitmap);
m_pBackDC->BitBlt(0, 0, m_pRect->Width(), m_pRect->Height(), pMemDC, 0, 0, SRCCOPY);
【1】我的图片大概有50MB,请问这样创建的兼容DC需要多少内存开销?
【2】一些书上说:“兼容DC是与特定显示设备相关的一个显示平面,是GDI内部保存的数据结构。”
是不是这样?能不能给出再具体、详细一些的解释?
// pMemDC是显示图像时用DrawDIBDraw写入数据的
CBitmap backBitmap;
backBitmap.CreateCompatibleBitmap(pDC, m_pRect->Width(), m_pRect->Height());
m_pBackDC = new CDC;
m_pBackDC->CreateCompatibleDC(pDC);
m_pBackDC->SelectObject(&backBitmap);
m_pBackDC->BitBlt(0, 0, m_pRect->Width(), m_pRect->Height(), pMemDC, 0, 0, SRCCOPY);
【1】我的图片大概有50MB,请问这样创建的兼容DC需要多少内存开销?
【2】一些书上说:“兼容DC是与特定显示设备相关的一个显示平面,是GDI内部保存的数据结构。”
是不是这样?能不能给出再具体、详细一些的解释?
DC占DC的大小,图片占图片的大小
DC是DC 图片是图片
DC占DC的大小,图片占图片的大小
正确
那么上一行语句执行完后,m_pBackDC的内容变成了什么?为这一动作,他究竟花了多少内存,难道仅仅几十个字节么?