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

Menggambar kerangka persegi panjang bulat yang ditentukan menggunakan gaya goresan yang ditentukan.

Sintaks

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

Parameter

roundedRect

Jenis: [in] const D2D1_ROUNDED_RECT &

Dimensi persegi panjang bulat untuk menggambar, dalam piksel independen perangkat.

brush

Jenis: [in] ID2D1Brush*

Kuas yang digunakan untuk melukis garis luar persegi panjang bulat.

strokeWidth

Jenis: [in] FLOAT

Lebar goresan, dalam piksel independen perangkat. Nilai harus lebih besar dari atau sama dengan 0,0f. Jika parameter ini tidak ditentukan, parameter defaultnya adalah 1.0f. Stroke berpusat pada garis.

strokeStyle

Jenis: [in, opsional] ID2D1StrokeStyle*

Gaya goresan persegi panjang bulat, atau NULL untuk melukis goresan padat. Nilai defaultnya adalah NULL.

Nilai kembali

Tidak ada

Keterangan

Metode ini tidak mengembalikan kode kesalahan jika gagal. Untuk menentukan apakah operasi menggambar (seperti DrawRoundedRectangle) gagal, periksa hasil yang dikembalikan oleh metode ID2D1RenderTarget::EndDraw atau ID2D1RenderTarget::Flush .

Contoh

Contoh berikut menggunakan metode DrawRoundedRectangle dan FillRoundedRectangle untuk menguraikan dan mengisi persegi panjang bulat. Contoh ini menghasilkan output yang ditunjukkan dalam ilustrasi berikut.

Ilustrasi empat persegi panjang bulat dengan gaya dan isian goresan yang berbeda
//  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;
}

Persyaratan

Persyaratan Nilai
Klien minimum yang didukung Windows 7, Windows Vista dengan SP2 dan Pembaruan Platform untuk Windows Vista [aplikasi desktop | Aplikasi UWP]
Server minimum yang didukung Windows Server 2008 R2, Windows Server 2008 dengan SP2 dan Pembaruan Platform untuk Windows Server 2008 [aplikasi desktop | Aplikasi UWP]
Target Platform Windows
Header d2d1.h
Pustaka D2d1.lib
DLL D2d1.dll

Lihat juga

D2D1::RoundedRect

Cara Menggambar dan Mengisi Bentuk Dasar

ID2D1RenderTarget