ID2D1Factory ::CreateDCRenderTarget, méthode (d2d1.h)
Crée une cible de rendu qui dessine dans un contexte d’appareil Windows Graphics Device Interface (GDI).
Syntaxe
HRESULT CreateDCRenderTarget(
[in] const D2D1_RENDER_TARGET_PROPERTIES *renderTargetProperties,
[out] ID2D1DCRenderTarget **dcRenderTarget
);
Paramètres
[in] renderTargetProperties
Type : const D2D1_RENDER_TARGET_PROPERTIES*
Le mode de rendu, le format des pixels, les options de communication à distance, les informations PPP et la prise en charge minimale de DirectX requise pour le rendu matériel. Pour permettre à la cible de rendu de contexte d’appareil (DC) de fonctionner avec GDI, définissez le format DXGI sur DXGI_FORMAT_B8G8R8A8_UNORM et le mode alpha sur D2D1_ALPHA_MODE_PREMULTIPLIED ou D2D1_ALPHA_MODE_IGNORE. Pour plus d’informations sur les formats de pixels, consultez Formats de pixels et modes alpha pris en charge.
[out] dcRenderTarget
Type : ID2D1DCRenderTarget**
Lorsque cette méthode est retournée, dcRenderTarget contient l’adresse du pointeur vers l’ID2D1DCRenderTarget créé par la méthode .
Valeur retournée
Type : HRESULT
Si cette méthode réussit, elle retourne S_OK. Sinon, elle retourne un code d’erreur HRESULT .
Remarques
Avant de pouvoir effectuer le rendu avec une cible de rendu DC, vous devez utiliser la méthode BindDC de la cible de rendu pour l’associer à un contrôleur de domaine GDI. Effectuez cette opération pour chaque contrôleur de domaine différent et chaque fois qu’il y a un changement dans la taille de la zone vers laquelle vous souhaitez dessiner.
Pour permettre à la cible de rendu du contrôleur de domaine de fonctionner avec GDI, définissez le format DXGI de la cible de rendu sur DXGI_FORMAT_B8G8R8A8_UNORM et le mode alpha sur D2D1_ALPHA_MODE_PREMULTIPLIED ou D2D1_ALPHA_MODE_IGNORE.
Votre application doit créer des cibles de rendu une seule fois et les conserver pendant toute la durée de vie de l’application ou jusqu’à ce que la méthode EndDraw de la cible de rendu retourne l’erreur D2DERR_RECREATE_TARGET . Lorsque vous recevez cette erreur, recréez la cible de rendu (et toutes les ressources qu’elle a créées).
Exemples
Le code suivant crée une cible de rendu dc.
// Create a DC render target.
D2D1_RENDER_TARGET_PROPERTIES props = D2D1::RenderTargetProperties(
D2D1_RENDER_TARGET_TYPE_DEFAULT,
D2D1::PixelFormat(
DXGI_FORMAT_B8G8R8A8_UNORM,
D2D1_ALPHA_MODE_IGNORE),
0,
0,
D2D1_RENDER_TARGET_USAGE_NONE,
D2D1_FEATURE_LEVEL_DEFAULT
);
hr = m_pD2DFactory->CreateDCRenderTarget(&props, &m_pDCRT);
Dans le code précédent, m_pD2DFactory est un pointeur vers un ID2D1Factory et m_pDCRT est un pointeur vers un ID2D1DCRenderTarget.
L’exemple de code suivant lie un contrôleur de domaine à id2D1DCRenderTarget.
HRESULT DemoApp::OnRender(const PAINTSTRUCT &ps)
{
// Get the dimensions of the client drawing area.
GetClientRect(m_hwnd, &rc);
// Bind the DC to the DC render target.
hr = m_pDCRT->BindDC(ps.hdc, &rc);
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 Platform Update pour Windows Server 2008 [applications de bureau | Applications UWP] |
Plateforme cible | Windows |
En-tête | d2d1.h |
Bibliothèque | D2d1.lib |
DLL | D2d1.dll |