Metodo ID2D1BitmapRenderTarget::GetBitmap (d2d1.h)

Recupera la bitmap per questa destinazione di rendering. La bitmap restituita può essere utilizzata per le operazioni di disegno.

Sintassi

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

Parametri

[out] bitmap

Tipo: ID2D1Bitmap**

Quando termina, questo metodo contiene l'indirizzo di un puntatore alla bitmap per questa destinazione di rendering. Questa bitmap può essere usata per le operazioni di disegno.

Valore restituito

Tipo: HRESULT

Se questo metodo ha esito positivo, restituisce S_OK. In caso contrario, restituisce un codice di errore HRESULT .

Commenti

Il valore DPI per id2D1Bitmap ottenuto da GetBitmap sarà il valore DPI dell'ID2D1BitmapRenderTarget quando è stata creata la destinazione di rendering. La modifica del valore DPI di ID2D1BitmapRenderTarget chiamando SetDpi non influisce sul valore DPI della bitmap, anche se SetDpi viene chiamato prima di GetBitmap. L'uso di SetDpi per modificare il valore DPI di ID2D1BitmapRenderTarget influisce sulla modalità di rendering del contenuto nella bitmap: non influisce solo sul valore DPI della bitmap recuperata da GetBitmap.

Esempio

Nell'esempio seguente viene usato il metodo CreateCompatibleRenderTarget per creare un oggetto ID2D1BitmapRenderTarget e usarlo per disegnare un modello di griglia. Il modello di griglia viene usato come origine di un oggetto 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;
}

Nell'esempio di codice seguente viene utilizzato il pennello per disegnare un motivo.

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

Il codice è stato omesso da questo esempio.

Requisiti

Requisito Valore
Client minimo supportato Windows 7, Windows Vista con SP2 e Aggiornamento della piattaforma per Windows Vista [app desktop | App UWP]
Server minimo supportato Windows Server 2008 R2, Windows Server 2008 con SP2 e Platform Update per Windows Server 2008 [app desktop | App UWP]
Piattaforma di destinazione Windows
Intestazione d2d1.h
Libreria D2d1.lib
DLL D2d1.dll

Vedi anche

ID2D1BitmapRenderTarget