Compartilhar via


Método ID2D1BitmapRenderTarget::GetBitmap (d2d1.h)

Recupera o bitmap para este destino de renderização. O bitmap retornado pode ser usado para operações de desenho.

Sintaxe

HRESULT GetBitmap(
  [out] ID2D1Bitmap **bitmap
);

Parâmetros

[out] bitmap

Tipo: ID2D1Bitmap**

Quando esse método retorna, contém o endereço de um ponteiro para o bitmap para esse destino de renderização. O bitmap retornado pode ser usado para operações de desenho.

Retornar valor

Tipo: HRESULT

Se o método for bem-sucedido, ele retornará S_OK. Caso contrário, ele retornará um código de erro HRESULT .

Comentários

O DPI para o ID2D1Bitmap obtido de GetBitmap será a DPI do ID2D1BitmapRenderTarget quando o destino de renderização foi criado. Alterar a DPI do ID2D1BitmapRenderTarget chamando SetDpi não afeta o DPI do bitmap, mesmo que SetDpi seja chamado antes de GetBitmap. Usar SetDpi para alterar a DPI do ID2D1BitmapRenderTarget afeta a forma como o conteúdo é renderizado no bitmap: ele simplesmente não afeta a DPI do bitmap recuperado por GetBitmap.

Exemplos

O exemplo a seguir usa o método CreateCompatibleRenderTarget para criar um ID2D1BitmapRenderTarget e o usa para desenhar um padrão de grade. O padrão de grade é usado como a origem de um ID2D1BitmapBrush.

HRESULT DemoApp::CreateGridPatternBrush(
    ID2D1RenderTarget *pRenderTarget,
    ID2D1BitmapBrush **ppBitmapBrush
    )
{
    // Create a compatible render target.
    ID2D1BitmapRenderTarget *pCompatibleRenderTarget = NULL;
    HRESULT hr = pRenderTarget->CreateCompatibleRenderTarget(
        D2D1::SizeF(10.0f, 10.0f),
        &pCompatibleRenderTarget
        );
    if (SUCCEEDED(hr))
    {
        // Draw a pattern.
        ID2D1SolidColorBrush *pGridBrush = NULL;
        hr = pCompatibleRenderTarget->CreateSolidColorBrush(
            D2D1::ColorF(D2D1::ColorF(0.93f, 0.94f, 0.96f, 1.0f)),
            &pGridBrush
            );
        if (SUCCEEDED(hr))
        {
            pCompatibleRenderTarget->BeginDraw();
            pCompatibleRenderTarget->FillRectangle(D2D1::RectF(0.0f, 0.0f, 10.0f, 1.0f), pGridBrush);
            pCompatibleRenderTarget->FillRectangle(D2D1::RectF(0.0f, 0.1f, 1.0f, 10.0f), pGridBrush);
            pCompatibleRenderTarget->EndDraw();

            // Retrieve the bitmap from the render target.
            ID2D1Bitmap *pGridBitmap = NULL;
            hr = pCompatibleRenderTarget->GetBitmap(&pGridBitmap);
            if (SUCCEEDED(hr))
            {
                // Choose the tiling mode for the bitmap brush.
                D2D1_BITMAP_BRUSH_PROPERTIES brushProperties =
                    D2D1::BitmapBrushProperties(D2D1_EXTEND_MODE_WRAP, D2D1_EXTEND_MODE_WRAP);

                // Create the bitmap brush.
                hr = m_pRenderTarget->CreateBitmapBrush(pGridBitmap, brushProperties, ppBitmapBrush);

                pGridBitmap->Release();
            }

            pGridBrush->Release();
        }

        pCompatibleRenderTarget->Release();
    }

    return hr;
}

O exemplo de código a seguir usa o pincel para pintar um padrão.

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

O código foi omitido neste exemplo.

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 Atualização de Plataforma 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

ID2D1BitmapRenderTarget