D2D1 _ RECT _ F

Stellt ein Rechteck dar, das durch die Koordinaten der oberen linken Ecke (links, oben) und der Koordinaten der unteren rechten Ecke (rechts, unten) definiert wird.

typedef D2D_RECT_F D2D1_RECT_F;

Bemerkungen

D2D1 _ RECT _ F ist ein neuer Name für die bereits definierte D2D _ RECT _ F-Struktur.

Beispiele

Im folgenden Beispiel wird ein ID2D1HwndRenderTarget verwendet, um mehrere Rechtecke zu zeichnen und zu füllen. In diesem Beispiel wird eine Ausgabe erzeugt, wie in der folgenden Abbildung dargestellt.

Abbildung von zwei Rechtecke auf einem Rasterhintergrund

// 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(&rectangle1, m_pLightSlateGrayBrush);

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

        hr = m_pRenderTarget->EndDraw();
    }

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

    return hr;
}

Ein verwandtes Tutorial finden Sie unter Erstellen einer einfachen Direct2D-Anwendung.

Requirements (Anforderungen)

Anforderung Wert
Unterstützte Mindestversion (Client)
Windows 7, Windows Vista mit SP2 und Plattformupdate für Windows [ Vista-Desktop-Apps | UWP-Apps]
Unterstützte Mindestversion (Server)
Windows Server 2008 R2, Windows Server 2008 mit SP2 und Plattformupdate für Windows Server [ 2008-Desktop-Apps | UWP-Apps]
Unterstützte Mindestversion (Telefon)
Windows Phone 8.1 [ Windows Phone Silverlight 8.1 und Windows Runtime-Apps]
Header
D2DBaseTypes.h (einschließlich D2d1.h)

Weitere Informationen

D2D _ RECT _ F

Erstellen einer einfachen Direct2D-Anwendung