Partager via


MÉTHODE ID2D1RenderTarget ::CreateLayer(constD2D1_SIZE_F*,ID2D1Layer**) (d2d1.h)

Crée une ressource de couche qui peut être utilisée avec cette cible de rendu et ses cibles de rendu compatibles.

Syntaxe

HRESULT CreateLayer(
  const D2D1_SIZE_F *size,
  ID2D1Layer        **layer
);

Paramètres

size

Type : [in] const D2D1_SIZE_F*

Si (0, 0) est spécifié, aucun magasin de stockage n’est créé derrière la ressource de couche. La ressource de couche est allouée à la taille minimale lorsque PushLayer est appelé.

layer

Type : [out] ID2D1Layer**

Lorsque la méthode retourne, contient un pointeur vers un pointeur vers la nouvelle couche. Ce paramètre est passé sans être initialisé.

Valeur retournée

Type : HRESULT

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

Remarques

La couche se redimensionne automatiquement, selon les besoins.

Exemples

L’exemple suivant utilise une couche pour découper une bitmap en masque géométrique. Pour obtenir l’exemple complet, consultez Guide pratique pour découper un masque géométrique.

HRESULT DemoApp::RenderWithLayer(ID2D1RenderTarget *pRT)
{
    HRESULT hr = S_OK;

    // Create a layer.
    ID2D1Layer *pLayer = NULL;
    hr = pRT->CreateLayer(NULL, &pLayer);

    if (SUCCEEDED(hr))
    {
        pRT->SetTransform(D2D1::Matrix3x2F::Translation(350, 50));

        // Push the layer with the geometric mask.
        pRT->PushLayer(
            D2D1::LayerParameters(D2D1::InfiniteRect(), m_pPathGeometry),
            pLayer
            );
            
  
        pRT->DrawBitmap(m_pOrigBitmap, D2D1::RectF(0, 0, 200, 133));
        pRT->FillRectangle(D2D1::RectF(0.f, 0.f, 25.f, 25.f), m_pSolidColorBrush);  
        pRT->FillRectangle(D2D1::RectF(25.f, 25.f, 50.f, 50.f), m_pSolidColorBrush);
        pRT->FillRectangle(D2D1::RectF(50.f, 50.f, 75.f, 75.f), m_pSolidColorBrush); 
        pRT->FillRectangle(D2D1::RectF(75.f, 75.f, 100.f, 100.f), m_pSolidColorBrush);    
        pRT->FillRectangle(D2D1::RectF(100.f, 100.f, 125.f, 125.f), m_pSolidColorBrush); 
        pRT->FillRectangle(D2D1::RectF(125.f, 125.f, 150.f, 150.f), m_pSolidColorBrush);    
        

        pRT->PopLayer();
    }

    SafeRelease(&pLayer);

    return hr;
}

Configuration requise

Condition requise Valeur
Plateforme cible Windows
En-tête d2d1.h
Bibliothèque D2d1.lib
DLL D2d1.dll

Voir aussi

ID2D1RenderTarget

Vue d’ensemble des couches