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
Créer une simple application Direct2D