ID2D1RenderTarget ::CreateCompatibleRenderTarget(D2D1_SIZE_F,ID2D1BitmapRenderTarget**) méthode (d2d1.h)
Crée une cible de rendu bitmap à utiliser pendant le dessin hors écran intermédiaire compatible avec la cible de rendu actuelle.
Syntaxe
HRESULT CreateCompatibleRenderTarget(
D2D1_SIZE_F desiredSize,
ID2D1BitmapRenderTarget **bitmapRenderTarget
);
Paramètres
desiredSize
Type : [in] D2D1_SIZE_F
Taille souhaitée de la nouvelle cible de rendu en pixels indépendants de l’appareil. La taille des pixels est calculée à partir de la taille souhaitée à l’aide du ppp cible parent. Si le iredSize est mappé à une taille de pixels entiers, l’ppp de la cible de rendu compatible est identique à celui de la cible parente. Si iredSize mappe à une taille de pixel fractionnaire, la taille du pixel est arrondie à l’entier le plus proche et le DPI de la cible de rendu compatible est légèrement plus élevé que le DPI de la cible de rendu parente. Dans tous les cas, la coordonnée (desiredSize.width, desiredSize.height) correspond au coin inférieur droit de la cible de rendu compatible.
bitmapRenderTarget
Type : [out] ID2D1BitmapRenderTarget**
Lorsque cette méthode retourne, contient un pointeur vers un pointeur vers une nouvelle cible de rendu bitmap. Ce paramètre est passé non initialisé.
Valeur de retour
Type : HRESULT
Si cette méthode réussit, elle retourne S_OK. Sinon, elle retourne un code d’erreur HRESULT.
Remarques
La cible de rendu bitmap créée par cette méthode n’est pas compatible avec GDI.
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 de cet exemple.
Exigences
Exigence | Valeur |
---|---|
client minimum pris en charge | Windows 7, Windows Vista avec SP2 et Mise à jour de plateforme pour Windows Vista [applications de bureau | Applications UWP] |
serveur minimum 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 |
d’en-tête | d2d1.h |
bibliothèque | D2d1.lib |
DLL | D2d1.dll |