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 |