Interfaz ID2D1Factory (d2d1.h)
Crea recursos de Direct2D.
Herencia
La interfaz ID2D1Factory hereda de la interfaz IUnknown . ID2D1Factory también tiene estos tipos de miembros:
Métodos
La interfaz ID2D1Factory tiene estos métodos.
ID2D1Factory::CreateDCRenderTarget Crea un destino de representación que se dibuja en un contexto de dispositivo de interfaz de dispositivo gráfico (GDI) de Windows. |
ID2D1Factory::CreateDrawingStateBlock Crea un ID2D1DrawingStateBlock que se puede usar con los métodos SaveDrawingState y RestoreDrawingState de un destino de representación. (sobrecarga 1/3) |
ID2D1Factory::CreateDrawingStateBlock Crea un ID2D1DrawingStateBlock que se puede usar con los métodos SaveDrawingState y RestoreDrawingState de un destino de representación. (sobrecarga 2/3) |
ID2D1Factory::CreateDrawingStateBlock Crea un ID2D1DrawingStateBlock que se puede usar con los métodos SaveDrawingState y RestoreDrawingState de un destino de representación. (sobrecarga 3/3) |
ID2D1Factory::CreateDxgiSurfaceRenderTarget Crea un destino de representación que se dibuja en una superficie de DirectX Graphics Infrastructure (DXGI). (sobrecarga 1/2) |
ID2D1Factory::CreateDxgiSurfaceRenderTarget Crea un destino de representación que se dibuja en una superficie de DirectX Graphics Infrastructure (DXGI). (sobrecarga 2/2) |
ID2D1Factory::CreateEllipseGeometry Crea un id. 2D1EllipseGeometry. (sobrecarga 2/2) |
ID2D1Factory::CreateEllipseGeometry Crea un id. 2D1EllipseGeometry. (sobrecarga 1/2) |
ID2D1Factory::CreateGeometryGroup Crea un id2D1GeometryGroup, que es un objeto que contiene otras geometrías. |
ID2D1Factory::CreateHwndRenderTarget Crea un ID2D1HwndRenderTarget, un destino de representación que se representa en una ventana. (sobrecarga 2/2) |
ID2D1Factory::CreateHwndRenderTarget Crea un ID2D1HwndRenderTarget, un destino de representación que se representa en una ventana. (sobrecarga 1/2) |
ID2D1Factory::CreatePathGeometry Crea un id. 2D1PathGeometry vacío. |
ID2D1Factory::CreateRectangleGeometry Crea un ID2D1RectangleGeometry. (sobrecarga 2/2) |
ID2D1Factory::CreateRectangleGeometry Crea un ID2D1RectangleGeometry. (sobrecarga 1/2) |
ID2D1Factory::CreateRoundedRectangleGeometry Crea un id. 2D1RoundedRectangleGeometry. (sobrecarga 2/2) |
ID2D1Factory::CreateRoundedRectangleGeometry Crea un id. 2D1RoundedRectangleGeometry. (sobrecarga 1/2) |
ID2D1Factory::CreateStrokeStyle Crea un ID2D1StrokeStyle que describe el límite inicial, el patrón dash y otras características de un trazo. (sobrecarga 2/2) |
ID2D1Factory::CreateStrokeStyle Crea un ID2D1StrokeStyle que describe el límite inicial, el patrón dash y otras características de un trazo. (sobrecarga 1/2) |
ID2D1Factory::CreateTransformedGeometry Transforma la geometría especificada y almacena el resultado como un objeto ID2D1TransformedGeometry. (sobrecarga 2/2) |
ID2D1Factory::CreateTransformedGeometry Transforma la geometría especificada y almacena el resultado como un objeto ID2D1TransformedGeometry. (sobrecarga 1/2) |
ID2D1Factory::CreateWicBitmapRenderTarget Crea un destino de representación que se representa en un mapa de bits de Componente de creación de imágenes de Microsoft Windows (WIC). (sobrecarga 2/2) |
ID2D1Factory::CreateWicBitmapRenderTarget Crea un destino de representación que se representa en un mapa de bits de Componente de creación de imágenes de Microsoft Windows (WIC). (sobrecarga 1/2) |
ID2D1Factory::GetDesktopDpi Recupera los puntos de escritorio actuales por pulgada (PPP). Para actualizar este valor, llame a ReloadSystemMetrics. |
ID2D1Factory::ReloadSystemMetrics Obliga a la fábrica a actualizar los valores predeterminados del sistema que podrían haber cambiado desde la creación de la fábrica. |
Comentarios
La interfaz ID2D1Factory es el punto de partida para usar Direct2D; es lo que se usa para crear otros recursos de Direct2D que puede usar para dibujar o describir formas.
Una factoría define un conjunto de métodos CreateResource que pueden generar los siguientes recursos de dibujo:
- Destinos de representación: objetos que representan comandos de dibujo.
- Bloques de estado de dibujo: objetos que almacenan información de estado de dibujo, como la transformación actual y el modo de suavizado de contorno.
- Geometrías: objetos que representan formas simples y potencialmente complejas.
Para crear un id2D1Factory, use uno de los métodos CreateFactory . Debe conservar la instancia id2D1Factory siempre que use recursos de Direct2D; en general, no debe tener que volver a crearla cuando se ejecuta la aplicación. Para obtener más información sobre los recursos de Direct2D, consulte La introducción a los recursos.
Generadores multiproceso y multiproceso
Al crear un generador, puede especificar si es multiproceso o singlethreaded. Una fábrica singlethreaded no proporciona ninguna serialización en ninguna otra instancia de subproceso en Direct2D, por lo que este mecanismo proporciona un gran grado de escalado en la CPU.También puede crear una instancia de generador multiproceso. En este caso, el generador y todos los objetos derivados se pueden usar desde cualquier subproceso y cada destino de representación se puede representar de forma independiente. Direct2D serializa las llamadas a estos objetos, por lo que una única instancia de Direct2D multiproceso no se escalará tanto en la CPU como muchas instancias de subproceso únicas. Sin embargo, los recursos se pueden compartir en la instancia multiproceso.
Tenga en cuenta que el calificador "En la CPU": las GPU generalmente aprovechan el paralelismo específico más que las CPU. Por ejemplo, es posible que las llamadas multiproceso de la CPU se serialicen al enviarse a la GPU, sin embargo, un banco completo de sombreadores de píxeles y vértices se ejecutará en paralelo para realizar la representación.
Consulta Aplicaciones direct2D multiproceso para obtener más información.
Ejemplos
Los fragmentos de código siguientes declaran un puntero de fábrica, crean una instancia de fábrica única y usan el generador para crear un destino de representación.
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
);
Requisitos
Requisito | Value |
---|---|
Cliente mínimo compatible | Windows 7, Windows Vista con SP2 y Platform Update para Windows Vista [aplicaciones de escritorio | Aplicaciones para UWP] |
Servidor mínimo compatible | Windows Server 2008 R2, Windows Server 2008 con SP2 y Actualización de plataforma para Windows Server 2008 [aplicaciones de escritorio | Aplicaciones para UWP] |
Plataforma de destino | Windows |
Encabezado | d2d1.h |
Consulte también
Creación de aplicación Direct2D simpl