Partager via


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

Voir aussi

Vue d’ensemble de l’interopérabilité direct2D et GDI

ID2D1Factory

Formats de pixel et modes alpha pris en charge