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

Desenha a estrutura de tópicos do retângulo arredondado especificado usando o estilo de traço especificado.

Sintaxe

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

Parâmetros

roundedRect

Tipo: [in] const D2D1_ROUNDED_RECT &

As dimensões do retângulo arredondado a ser desenhado, em pixels independentes do dispositivo.

brush

Tipo: [in] ID2D1Brush*

O pincel usado para pintar a estrutura de tópicos do retângulo arredondado.

strokeWidth

Tipo: [in] FLOAT

A largura do traço, em pixels independentes do dispositivo. O valor deve ser maior ou igual a 0,0f. Se esse parâmetro não for especificado, o padrão será 1.0f. O traço está centralizado na linha.

strokeStyle

Tipo: [in, opcional] ID2D1StrokeStyle*

O estilo do traço do retângulo arredondado ou NULL para pintar um traço sólido. O valor padrão é NULL.

Retornar valor

Nenhum

Comentários

Esse método não retornará um código de erro se falhar. Para determinar se uma operação de desenho (como DrawRoundedRectangle) falhou, marcar o resultado retornado pelos métodos ID2D1RenderTarget::EndDraw ou ID2D1RenderTarget::Flush.

Exemplos

O exemplo a seguir usa os métodos DrawRoundedRectangle e FillRoundedRectangle para estruturar e preencher um retângulo arredondado. Este exemplo produz a saída mostrada na ilustração a seguir.

Ilustração de quatro retângulos arredondados com diferentes estilos e preenchimentos de traço
//  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;
}

Requisitos

Requisito Valor
Cliente mínimo com suporte Windows 7, Windows Vista com SP2 e Atualização de Plataforma para Windows Vista [aplicativos da área de trabalho | Aplicativos UWP]
Servidor mínimo com suporte Windows Server 2008 R2, Windows Server 2008 com SP2 e Platform Update para Windows Server 2008 [aplicativos da área de trabalho | Aplicativos UWP]
Plataforma de Destino Windows
Cabeçalho d2d1.h
Biblioteca D2d1.lib
DLL D2d1.dll

Confira também

D2D1::RoundedRect

Como desenhar e preencher uma forma básica

ID2D1RenderTarget