Как я очищаю цель рендеринга Direct2D к полностью прозрачному

Я пытаюсь потянуть полупрозрачные прямоугольники на невидимом HWND. Однако очищая окно с ID2D1HwndRenderTarget:: Ясный просто делает все окно черным, поэтому когда я тяну прямоугольники на вершине, они выглядят получерными.

Если я не Очищаю () и не тяну, то окно невидимо, как это должно быть. Ясный () преступник здесь; однако, если я не использую его, затем рисование портит довольно плохо.

Вот код, который я использую в своем WindowProc:

case WM_PAINT:
    // Begin drawing
    pRenderTarget->BeginDraw();
    pRenderTarget->SetTransform(D2D1::Matrix3x2F::Identity());

    // Clear the window
    pRenderTarget->Clear();

    // Paint the panel and its children
    D2DSurface()->StartPainting();
    {
        D2DSurface()->PaintTraverse(panel);
    }
    D2DSurface()->FinishPainting();

    // Finish drawing
    HRESULT hr = plat->pRenderTarget->EndDraw();

Заранее спасибо!

7
задан Saul 8 April 2010 в 20:37
поделиться