Partager via


ID2D1BitmapRenderTarget ::GetBitmap, méthode (d2d1.h)

Récupère la bitmap pour cette cible de rendu. La bitmap retournée peut être utilisée pour les opérations de dessin.

Syntaxe

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

Paramètres

[out] bitmap

Type : ID2D1Bitmap**

Lorsque cette méthode retourne, contient l’adresse d’un pointeur vers la bitmap pour cette cible de rendu. Cette bitmap peut être utilisée pour les opérations de dessin.

Valeur retournée

Type : HRESULT

Si cette méthode réussit, elle retourne S_OK. Sinon, il retourne un code d’erreur HRESULT .

Remarques

Le DPI pour l’ID2D1Bitmap obtenu à partir de GetBitmap sera le DPI de l’ID2D1BitmapRenderTarget lors de la création de la cible de rendu. La modification du DPI de l’ID2D1BitmapRenderTarget en appelant SetDpi n’affecte pas le DPI de la bitmap, même si SetDpi est appelé avant GetBitmap. L’utilisation de SetDpi pour modifier le DPI de l’ID2D1BitmapRenderTarget affecte la façon dont le contenu est rendu dans l’image bitmap : cela n’affecte tout simplement pas le DPI de l’image bitmap récupérée par GetBitmap.

Exemples

L’exemple suivant utilise la méthode CreateCompatibleRenderTarget pour créer un ID2D1BitmapRenderTarget et l’utilise pour dessiner un modèle de grille. Le modèle de grille est utilisé comme source d’un 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;
}

L’exemple de code suivant utilise le pinceau pour peindre un motif.

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

Le code a été omis dans cet exemple.

Configuration requise

Condition requise Valeur
Client minimal pris en charge Windows 7, Windows Vista avec SP2 et Mise à jour de plateforme pour Windows Vista [applications de bureau | Applications UWP]
Serveur minimal pris en charge Windows Server 2008 R2, Windows Server 2008 avec SP2 et Mise à jour de plateforme pour Windows Server 2008 [applications de bureau | Applications UWP]
Plateforme cible Windows
En-tête d2d1.h
Bibliothèque D2d1.lib
DLL D2d1.dll

Voir aussi

ID2D1BitmapRenderTarget