Копировать содержимое CView в растровое изображение
Я хотел бы создать растровую копию текущего содержимого моего CView, которое может быть или не быть в настоящее время видимым на экране. Вот код, который я добавил к моей функции OnDraw:
void
MyView::OnDraw
(
CDC* pDC
)
{
... normal processing ...
// Copy the view contents to a bitmap.
CDC dc;
dc.CreateCompatibleDC( pDC );
if ( m_pBitmap != NULL )
{
delete m_pBitmap;
}
m_pBitmap = new CBitmap();
m_pBitmap->CreateCompatibleBitmap( &dc, szView.cx, szView.cy );
CBitmap* pOld = ( CBitmap* )dc.SelectObject( m_pBitmap );
dc.BitBlt( 0, 0, szView.cx, szView.cy, pDC, 0, 0, SRCCOPY );
dc.SelectObject( pOld );
}
Но теперь, когда я изучаю растровое изображение, я вижу, что на пиксель приходится всего 1 бит. Я уверен, что что-то упустил, кто-нибудь может помочь?
Спасибо кевин
1 ответ
Проблема заключалась в том, что &dc нужно было изменить на pDC при вызове CreateCompatibleBitmap.
Kevin