ID2D1RenderTarget :: FillRectangle, méthodes

Peint l’intérieur du rectangle spécifié.

Liste de surcharge

Méthode Description
FillRectangle (D2D1 _ rect _ F&, ID2D1Brush * ) Peint l’intérieur du rectangle spécifié.
FillRectangle (D2D1 _ rect _ F * , ID2D1Brush * ) Peint l’intérieur du rectangle spécifié.

Notes

Cette méthode ne retourne pas de code d’erreur en cas d’échec. Pour déterminer si une opération de dessin (par exemple, FillRectangle) a échoué, vérifiez les résultats retournés par les méthodes ID2D1RenderTarget :: EndDraw ou ID2D1RenderTarget :: Flush .

Exemples

L’exemple suivant utilise un ID2D1HwndRenderTarget pour dessiner et remplir plusieurs rectangles. Cet exemple produit la sortie représentée dans l’illustration suivante.

illustration de deux rectangles sur un arrière-plan de grille

// This method discards device-specific
// resources if the Direct3D device dissapears during execution and
// recreates the resources the next time it's invoked.
HRESULT DemoApp::OnRender()
{
    HRESULT hr = S_OK;

    hr = CreateDeviceResources();

    if (SUCCEEDED(hr))
    {
        m_pRenderTarget->BeginDraw();

        m_pRenderTarget->SetTransform(D2D1::Matrix3x2F::Identity());

        m_pRenderTarget->Clear(D2D1::ColorF(D2D1::ColorF::White));

        D2D1_SIZE_F rtSize = m_pRenderTarget->GetSize();

        // Draw a grid background.
        int width = static_cast<int>(rtSize.width);
        int height = static_cast<int>(rtSize.height);

        for (int x = 0; x < width; x += 10)
        {
            m_pRenderTarget->DrawLine(
                D2D1::Point2F(static_cast<FLOAT>(x), 0.0f),
                D2D1::Point2F(static_cast<FLOAT>(x), rtSize.height),
                m_pLightSlateGrayBrush,
                0.5f
                );
        }

        for (int y = 0; y < height; y += 10)
        {
            m_pRenderTarget->DrawLine(
                D2D1::Point2F(0.0f, static_cast<FLOAT>(y)),
                D2D1::Point2F(rtSize.width, static_cast<FLOAT>(y)),
                m_pLightSlateGrayBrush,
                0.5f
                );
        }

        // Draw two rectangles.
        D2D1_RECT_F rectangle1 = D2D1::RectF(
            rtSize.width/2 - 50.0f,
            rtSize.height/2 - 50.0f,
            rtSize.width/2 + 50.0f,
            rtSize.height/2 + 50.0f
            );

        D2D1_RECT_F rectangle2 = D2D1::RectF(
            rtSize.width/2 - 100.0f,
            rtSize.height/2 - 100.0f,
            rtSize.width/2 + 100.0f,
            rtSize.height/2 + 100.0f
            );


        // Draw a filled rectangle.
        m_pRenderTarget->FillRectangle(&amp;rectangle1, m_pLightSlateGrayBrush);

        // Draw the outline of a rectangle.
        m_pRenderTarget->DrawRectangle(&amp;rectangle2, m_pCornflowerBlueBrush);

        hr = m_pRenderTarget->EndDraw();
    }

    if (hr == D2DERR_RECREATE_TARGET)
    {
        hr = S_OK;
        DiscardDeviceResources();
    }

    return hr;
}

Pour obtenir un didacticiel connexe, consultez création d’une application Direct2D simple.

Spécifications

Condition requise Valeur
En-tête
D2d1 _ 1. h (inclure D2d1. h)
Bibliothèque
D2d1. lib
DLL
D2d1.dll

Voir aussi

ID2D1RenderTarget

Création d’une application Direct2D simple