GDI + рисует только монохромные изображения в памяти DC

Я пытаюсь выполнить двойную буферизацию в приложении MFC и пытаюсь использовать DC памяти с помощью GDI +. Однако, хотя я вызвал CreateCompatibleDC (), я получаю только монохромное изображение. Вот код:

CDC bufferDC;
CBitmap bufferBitmap;
bufferDC.CreateCompatibleDC(&dc);
bufferBitmap.CreateCompatibleBitmap(&bufferDC, 300, 300);
bufferDC.SelectObject(bufferBitmap);
Graphics g(bufferDC);
g.Clear(Color::Green);
dc.BitBlt(0, 0, 300, 300, &bufferDC, 0, 0, SRCCOPY);

Вместо зеленого пятна я вижу прямоугольник из смешанных черных и белых точек. Я даже пытался сохранить растровое изображение на диск после вызова g.Clear (). Это действительно файл с 1-битной глубиной.

Есть идеи, что пошло не так? Спасибо.

6
задан Deling Ren 16 February 2012 в 20:53
поделиться