Partager via


Interface ID2D1Factory (d2d1.h)

Crée des ressources Direct2D.

Héritage

L’interface ID2D1Factory hérite de l’interface IUnknown. ID2D1Factory a également les types de membres suivants :

Méthodes

L’interface ID2D1Factory comporte ces méthodes.

 
ID2D1Factory ::CreateDCRenderTarget

Crée une cible de rendu qui s’affiche dans un contexte d’appareil GDI (Interface d’appareil Graphiques Windows).
ID2D1Factory ::CreateDrawingStateBlock

Crée un ID2D1DrawingStateBlock qui peut être utilisé avec les méthodes SaveDrawingState et RestoreDrawingState d’une cible de rendu. (surcharge 1/3)
ID2D1Factory ::CreateDrawingStateBlock

Crée un ID2D1DrawingStateBlock qui peut être utilisé avec les méthodes SaveDrawingState et RestoreDrawingState d’une cible de rendu. (surcharge 2/3)
ID2D1Factory ::CreateDrawingStateBlock

Crée un ID2D1DrawingStateBlock qui peut être utilisé avec les méthodes SaveDrawingState et RestoreDrawingState d’une cible de rendu. (surcharge 3/3)
ID2D1Factory ::CreateDxgiSurfaceRenderTarget

Crée une cible de rendu qui dessine une surface DXGI (DirectX Graphics Infrastructure). (surcharge 1/2)
ID2D1Factory ::CreateDxgiSurfaceRenderTarget

Crée une cible de rendu qui dessine une surface DXGI (DirectX Graphics Infrastructure). (surcharge 2/2)
ID2D1Factory ::CreateEllipseGeometry

Crée un ID2D1EllipseGeometry. (surcharge 2/2)
ID2D1Factory ::CreateEllipseGeometry

Crée un ID2D1EllipseGeometry. (surcharge 1/2)
ID2D1Factory ::CreateGeometryGroup

Crée un ID2D1GeometryGroup, qui est un objet qui contient d’autres géométries.
ID2D1Factory ::CreateHwndRenderTarget

Crée un ID2D1HwndRenderTarget, une cible de rendu qui s’affiche dans une fenêtre. (surcharge 2/2)
ID2D1Factory ::CreateHwndRenderTarget

Crée un ID2D1HwndRenderTarget, une cible de rendu qui s’affiche dans une fenêtre. (surcharge 1/2)
ID2D1Factory ::CreatePathGeometry

Crée un ID2D1PathGeometry vide.
ID2D1Factory ::CreateRectangleGeometry

Crée un ID2D1RectangleGeometry. (surcharge 2/2)
ID2D1Factory ::CreateRectangleGeometry

Crée un ID2D1RectangleGeometry. (surcharge 1/2)
ID2D1Factory ::CreateRoundedRectangleGeometry

Crée une fonction ID2D1RoundedRectangleGeometry. (surcharge 2/2)
ID2D1Factory ::CreateRoundedRectangleGeometry

Crée une fonction ID2D1RoundedRectangleGeometry. (surcharge 1/2)
ID2D1Factory ::CreateStrokeStyle

Crée un ID2D1StrokeStyle qui décrit la limite de début, le motif de tiret et d’autres caractéristiques d’un trait. (surcharge 2/2)
ID2D1Factory ::CreateStrokeStyle

Crée un ID2D1StrokeStyle qui décrit la limite de début, le motif de tiret et d’autres caractéristiques d’un trait. (surcharge 1/2)
ID2D1Factory ::CreateTransformedGeometry

Transforme la géométrie spécifiée et stocke le résultat sous la forme d’un objet ID2D1TransformedGeometry. (surcharge 2/2)
ID2D1Factory ::CreateTransformedGeometry

Transforme la géométrie spécifiée et stocke le résultat sous la forme d’un objet ID2D1TransformedGeometry. (surcharge 1/2)
ID2D1Factory ::CreateWicBitmapRenderTarget

Crée une cible de rendu qui s’affiche dans une bitmap de composant d’acquisition d’images Microsoft Windows (WIC). (surcharge 2/2)
ID2D1Factory ::CreateWicBitmapRenderTarget

Crée une cible de rendu qui s’affiche dans une bitmap de composant d’acquisition d’images Microsoft Windows (WIC). (surcharge 1/2)
ID2D1Factory ::GetDesktopDpi

Récupère les points de bureau actuels par pouce (PPP). Pour actualiser cette valeur, appelez ReloadSystemMetrics.
ID2D1Factory ::ReloadSystemMetrics

Force la fabrique à actualiser toutes les valeurs par défaut du système qu’elle a pu modifier depuis la création de la fabrique.

Remarques

L’interface ID2D1Factory est le point de départ de l’utilisation de Direct2D ; il s’agit de ce que vous utilisez pour créer d’autres ressources Direct2D que vous pouvez utiliser pour dessiner ou décrire des formes.

Une fabrique définit un ensemble de méthodes CreateResource qui peuvent produire les ressources de dessin suivantes :

  • Cibles de rendu : objets qui affichent des commandes de dessin.
  • Blocs d’état de dessin : objets qui stockent des informations d’état de dessin, telles que la transformation actuelle et le mode anti-attirail.
  • Géométries : objets qui représentent des formes simples et potentiellement complexes.

Pour créer un ID2D1Factory, vous utilisez l’une des méthodes CreateFactory . Vous devez conserver le instance ID2D1Factory tant que vous utilisez des ressources Direct2D ; en général, vous n’avez pas besoin de le recréer lorsque l’application est en cours d’exécution. Pour plus d’informations sur les ressources Direct2D, consultez Vue d’ensemble des ressources.

Fabriques monothread et multithreaded

Lorsque vous créez une fabrique, vous pouvez spécifier si elle est multithread ou monothread. Une fabrique monothreaded ne fournit aucune sérialisation par rapport à d’autres instance thread uniques dans Direct2D. Par conséquent, ce mécanisme fournit un très grand degré de mise à l’échelle sur le processeur.

Vous pouvez également créer une instance de fabrique multithread. Dans ce cas, la fabrique et tous les objets dérivés peuvent être utilisés à partir de n’importe quel thread et chaque cible de rendu peut être rendue indépendamment. Direct2D sérialise les appels à ces objets, de sorte qu’un seul instance Direct2D multithread ne sera pas aussi bien mis à l’échelle sur le processeur que de nombreuses instances à thread unique. Toutefois, les ressources peuvent être partagées dans le instance multithread.

Notez que le qualificateur « Sur le processeur » : les GPU tirent généralement davantage parti du parallélisme affiné que les processeurs. Par exemple, les appels multithread à partir du processeur peuvent toujours finir par être sérialisés lors de l’envoi au GPU, mais une banque entière de nuanceurs de pixels et de vertex s’exécutent en parallèle pour effectuer le rendu.

Pour plus d’informations, consultez Applications Direct2D multithread.

Exemples

Les fragments de code suivants déclarent un pointeur de fabrique, créent un instance de fabrique unique et utilisent la fabrique pour créer une cible de rendu.

ID2D1Factory* m_pDirect2dFactory;

    // Create a Direct2D factory.
    hr = D2D1CreateFactory(D2D1_FACTORY_TYPE_SINGLE_THREADED, &m_pDirect2dFactory);

        // Create a Direct2D render target.
        hr = m_pDirect2dFactory->CreateHwndRenderTarget(
            D2D1::RenderTargetProperties(),
            D2D1::HwndRenderTargetProperties(m_hwnd, size),
            &m_pRenderTarget
            );

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

Voir aussi

Vue d’ensemble de Direct2D

Créer une simple application Direct2D

Prise en main avec Direct2D

IUnknown

Applications Direct2D multithread

Vue d’ensemble des ressources