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 |