Freigeben über


ID2D1RenderTarget::D rawRoundedRectangle(constD2D1_ROUNDED_RECT&,ID2D1Brush*,FLOAT,ID2D1StrokeStyle*)-Methode (d2d1.h)

Zeichnet die Kontur des angegebenen abgerundeten Rechtecks unter Verwendung des angegebenen Strichstils.

Syntax

void DrawRoundedRectangle(
  const D2D1_ROUNDED_RECT & roundedRect,
  ID2D1Brush                *brush,
  FLOAT                     strokeWidth,
  ID2D1StrokeStyle          *strokeStyle
);

Parameter

roundedRect

Typ: [in] const D2D1_ROUNDED_RECT &

Die Abmessungen des zu zeichnenden abgerundeten Rechtecks in geräteunabhängigen Pixeln.

brush

Typ: [in] ID2D1Brush*

Der Pinsel, mit dem die Kontur des abgerundeten Rechtecks gezeichnet wird.

strokeWidth

Typ: [in] FLOAT

Die Breite des Strichs in geräteunabhängigen Pixeln. Der Wert muss größer oder gleich 0,0f sein. Wenn dieser Parameter nicht angegeben ist, wird standardmäßig 1.0f verwendet. Der Strich wird auf der Linie zentriert.

strokeStyle

Typ: [in, optional] ID2D1StrokeStyle*

Der Stil des Strichs des abgerundeten Rechtecks oder NULL zum Zeichnen eines Volltonstrichs. Der Standardwert ist NULL.

Rückgabewert

Keine

Bemerkungen

Diese Methode gibt keinen Fehlercode zurück, wenn sie fehlschlägt. Um zu ermitteln, ob ein Zeichnungsvorgang (z. B. DrawRoundedRectangle) fehlgeschlagen ist, überprüfen Sie das ergebnis, das von den Methoden ID2D1RenderTarget::EndDraw oder ID2D1RenderTarget::Flush zurückgegeben wird.

Beispiele

Im folgenden Beispiel werden die Methoden DrawRoundedRectangle und FillRoundedRectangle verwendet, um ein abgerundetes Rechteck zu konturieren und zu füllen. In diesem Beispiel wird die in der folgenden Abbildung gezeigte Ausgabe erzeugt.

Abbildung von vier abgerundeten Rechtecken mit unterschiedlichen Stricharten und Füllungen
//  Called whenever the application needs to display the client
//  window.
HRESULT DrawAndFillRoundedRectangleExample::OnRender()
{
    HRESULT hr;

    // Create the render target and brushes if they
    // don't already exists.
    hr = CreateDeviceResources();

    if (SUCCEEDED(hr))
    {
        // Retrieve the size of the render target.
        D2D1_SIZE_F renderTargetSize = m_pRenderTarget->GetSize();

        m_pRenderTarget->BeginDraw();
        m_pRenderTarget->SetTransform(D2D1::Matrix3x2F::Identity());
        m_pRenderTarget->Clear(D2D1::ColorF(D2D1::ColorF::White));

        // Paint a grid background.
        m_pRenderTarget->FillRectangle(
            D2D1::RectF(0.0f, 0.0f, renderTargetSize.width, renderTargetSize.height),
            m_pGridPatternBitmapBrush
            );

        // Define a rounded rectangle.
        D2D1_ROUNDED_RECT roundedRect = D2D1::RoundedRect(
            D2D1::RectF(20.f, 20.f, 150.f, 100.f),
            10.f,
            10.f
            );

        // Draw the rectangle.
        m_pRenderTarget->DrawRoundedRectangle(roundedRect, m_pBlackBrush, 10.f);

        // Apply a translation transform.
        m_pRenderTarget->SetTransform(D2D1::Matrix3x2F::Translation(200.f, 0.f));

        // Draw the rounded rectangle again, this time with a dashed stroke.
        m_pRenderTarget->DrawRoundedRectangle(roundedRect, m_pBlackBrush, 10.f, m_pStrokeStyle);

        // Apply another translation transform.
        m_pRenderTarget->SetTransform(D2D1::Matrix3x2F::Translation(0.f, 150.f));

        // Draw, then fill the rounded rectangle.
        m_pRenderTarget->DrawRoundedRectangle(roundedRect, m_pBlackBrush, 10.f, m_pStrokeStyle);
        m_pRenderTarget->FillRoundedRectangle(roundedRect, m_pSilverBrush);

        // Apply another translation transform.
        m_pRenderTarget->SetTransform(D2D1::Matrix3x2F::Translation(200.f, 150.f));

        // Fill, then draw the rounded rectangle.
        m_pRenderTarget->FillRoundedRectangle(roundedRect, m_pSilverBrush);
        m_pRenderTarget->DrawRoundedRectangle(roundedRect, m_pBlackBrush, 10.f, m_pStrokeStyle);

        hr = m_pRenderTarget->EndDraw();

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

    return hr;
}

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]
Zielplattform Windows
Kopfzeile d2d1.h
Bibliothek D2d1.lib
DLL D2d1.dll

Weitere Informationen

D2D1::RoundedRect

Zeichnen und Ausfüllen einer Einfachen Form

ID2D1RenderTarget