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

Introducción a Direct2D

Creación de aplicación Direct2D simpl

Introducción con Direct2D

IUnknown

Aplicaciones Direct2D multiproceso

Información general sobre los recursos