Condividi tramite


Interfaccia ID2D1Factory (d2d1.h)

Crea risorse Direct2D.

Ereditarietà

L'interfaccia ID2D1Factory eredita dall'interfaccia IUnknown . ID2D1Factory include anche questi tipi di membri:

Metodi

L'interfaccia ID2D1Factory include questi metodi.

 
ID2D1Factory::CreateDCRenderTarget

Crea una destinazione di rendering che disegna in un contesto di dispositivo GDI (Windows Graphics Device Interface).
ID2D1Factory::CreateDrawingStateBlock

Crea un ID2D1DrawingStateBlock che può essere usato con i metodi SaveDrawingState e RestoreDrawingState di una destinazione di rendering. (overload 1/3)
ID2D1Factory::CreateDrawingStateBlock

Crea un ID2D1DrawingStateBlock che può essere usato con i metodi SaveDrawingState e RestoreDrawingState di una destinazione di rendering. (overload 2/3)
ID2D1Factory::CreateDrawingStateBlock

Crea un ID2D1DrawingStateBlock che può essere usato con i metodi SaveDrawingState e RestoreDrawingState di una destinazione di rendering. (overload 3/3)
ID2D1Factory::CreateDxgiSurfaceRenderTarget

Crea una destinazione di rendering che disegna in una superficie DXGI (DirectX Graphics Infrastructure). (overload 1/2)
ID2D1Factory::CreateDxgiSurfaceRenderTarget

Crea una destinazione di rendering che disegna in una superficie DXGI (DirectX Graphics Infrastructure). (overload 2/2)
ID2D1Factory::CreateEllipseGeometry

Crea un ID2D1EllipseGeometry. (overload 2/2)
ID2D1Factory::CreateEllipseGeometry

Crea un ID2D1EllipseGeometry. (overload 1/2)
ID2D1Factory::CreateGeometryGroup

Crea un ID2D1GeometryGroup, ovvero un oggetto che contiene altre geometrie.
ID2D1Factory::CreateHwndRenderTarget

Crea un ID2D1HwndRenderTarget, una destinazione di rendering che esegue il rendering in una finestra. (overload 2/2)
ID2D1Factory::CreateHwndRenderTarget

Crea un ID2D1HwndRenderTarget, una destinazione di rendering che esegue il rendering in una finestra. (overload 1/2)
ID2D1Factory::CreatePathGeometry

Crea un ID2D1PathGeometry vuoto.
ID2D1Factory::CreateRectangleGeometry

Crea un ID2D1RectangleGeometry. (overload 2/2)
ID2D1Factory::CreateRectangleGeometry

Crea un ID2D1RectangleGeometry. (overload 1/2)
ID2D1Factory::CreateRoundedRectangleGeometry

Crea un ID2D1RoundedRectangleGeometry. (overload 2/2)
ID2D1Factory::CreateRoundedRectangleGeometry

Crea un ID2D1RoundedRectangleGeometry. (overload 1/2)
ID2D1Factory::CreateStrokeStyle

Crea un ID2D1StrokeStyle che descrive il limite iniziale, il modello trattino e altre funzionalità di un tratto. (overload 2/2)
ID2D1Factory::CreateStrokeStyle

Crea un ID2D1StrokeStyle che descrive il limite iniziale, il modello trattino e altre funzionalità di un tratto. (overload 1/2)
ID2D1Factory::CreateTransformedGeometry

Trasforma la geometria specificata e archivia il risultato come oggetto ID2D1TransformedGeometry. (overload 2/2)
ID2D1Factory::CreateTransformedGeometry

Trasforma la geometria specificata e archivia il risultato come oggetto ID2D1TransformedGeometry. (overload 1/2)
ID2D1Factory::CreateWicBitmapRenderTarget

Crea una destinazione di rendering che esegue il rendering in una bitmap WIC (Microsoft Windows Imaging Component). (overload 2/2)
ID2D1Factory::CreateWicBitmapRenderTarget

Crea una destinazione di rendering che esegue il rendering in una bitmap WIC (Microsoft Windows Imaging Component). (overload 1/2)
ID2D1Factory::GetDesktopDpi

Recupera i punti desktop correnti per pollice (DPI). Per aggiornare questo valore, chiamare ReloadSystemMetrics.
ID2D1Factory::ReloadSystemMetrics

Forza la factory a aggiornare le impostazioni predefinite di sistema che potrebbero essere state modificate dopo la creazione della factory.

Commenti

L'interfaccia ID2D1Factory è il punto di partenza per l'uso di Direct2D; è ciò che si usa per creare altre risorse Direct2D che è possibile usare per disegnare o descrivere le forme.

Una factory definisce un set di metodi CreateResource che possono produrre le risorse di disegno seguenti:

  • Destinazioni di rendering: oggetti che eseguono il rendering dei comandi di disegno.
  • Blocchi di stato di disegno: oggetti che archiviano informazioni sullo stato di disegno, ad esempio la trasformazione corrente e la modalità antialiasing.
  • Geometrie: oggetti che rappresentano forme semplici e potenzialmente complesse.

Per creare un ID2D1Factory, usare uno dei metodi CreateFactory . È necessario conservare l'istanza ID2D1Factory fino a quando si usano le risorse Direct2D; in generale, non è necessario ricrearlo quando l'applicazione è in esecuzione. Per altre informazioni sulle risorse Direct2D, vedere Panoramica delle risorse.

Factory singlethreaded e multithreaded

Quando si crea una factory, è possibile specificare se è multithreaded o singlethreaded. Una factory singlethreaded non fornisce alcuna serializzazione su qualsiasi altra istanza a thread singolo all'interno di Direct2D, quindi questo meccanismo offre un livello molto elevato di scalabilità sulla CPU.

È anche possibile creare un'istanza di factory multithreaded. In questo caso, la factory e tutti gli oggetti derivati possono essere usati da qualsiasi thread e ogni destinazione di rendering può essere eseguita in modo indipendente. Direct2D serializza le chiamate a questi oggetti, quindi un'unica istanza Direct2D multithreaded non verrà ridimensionata anche sulla CPU come molte istanze a thread singolo. Tuttavia, le risorse possono essere condivise all'interno dell'istanza multithreaded.

Si noti che il qualificatore "On the CPU": le GPU in genere sfruttano il parallelismo con granularità fine più di CPU. Ad esempio, le chiamate multithreaded dalla CPU potrebbero comunque essere serializzate quando vengono inviate alla GPU, tuttavia, un intero bancario di pixel e vertex shader verrà eseguito in parallelo per eseguire il rendering.

Per altre informazioni, vedere App Direct2D multithreaded .

Esempio

I frammenti di codice seguenti dichiarano un puntatore factory, creano un'istanza factory a thread singolo e usano la factory per creare una destinazione di rendering.

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
            );

Requisiti

Requisito Valore
Client minimo supportato Windows 7, Windows Vista con SP2 e Aggiornamento della piattaforma per Windows Vista [app desktop | App UWP]
Server minimo supportato Windows Server 2008 R2, Windows Server 2008 con SP2 e Platform Update per Windows Server 2008 [app desktop | App UWP]
Piattaforma di destinazione Windows
Intestazione d2d1.h

Vedi anche

Panoramica di Direct2D

Creare una semplice applicazione Direct2D

Introduzione con Direct2D

IUnknown

App Direct2D multithreading

Panoramica delle risorse