Share via


Método ID2D1Factory::CreateDCRenderTarget (d2d1.h)

Crea un destino de representación que se dibuja en un contexto de dispositivo de interfaz de dispositivo gráfico (GDI) de Windows.

Sintaxis

HRESULT CreateDCRenderTarget(
  [in]  const D2D1_RENDER_TARGET_PROPERTIES *renderTargetProperties,
  [out] ID2D1DCRenderTarget                 **dcRenderTarget
);

Parámetros

[in] renderTargetProperties

Tipo: const D2D1_RENDER_TARGET_PROPERTIES*

El modo de representación, el formato de píxeles, las opciones de comunicación remota, la información de PPP y la compatibilidad mínima con DirectX que se necesita para la representación de hardware. Para permitir que el destino de representación del contexto de dispositivo (DC) funcione con GDI, establezca el formato DXGI en DXGI_FORMAT_B8G8R8A8_UNORM y el modo alfa en D2D1_ALPHA_MODE_PREMULTIPLIED o D2D1_ALPHA_MODE_IGNORE. Para obtener más información sobre los formatos de píxeles, vea Formatos de píxeles admitidos y Modos alfa.

[out] dcRenderTarget

Tipo: ID2D1DCRenderTarget**

Cuando este método devuelve, dcRenderTarget contiene la dirección del puntero al id2D1DCRenderTarget creado por el método .

Valor devuelto

Tipo: HRESULT

Si este método se realiza correctamente, devuelve S_OK. De lo contrario, devuelve un código de error HRESULT .

Comentarios

Para poder representar con un destino de representación de controlador de dominio, debe usar el método BindDC del destino de representación para asociarlo a un controlador de dominio GDI. Haga esto para cada controlador de dominio diferente y cada vez que haya un cambio en el tamaño del área a la que desea dibujar.

Para permitir que el destino de representación del controlador de dominio funcione con GDI, establezca el formato DXGI del destino de representación en DXGI_FORMAT_B8G8R8A8_UNORM y el modo alfa en D2D1_ALPHA_MODE_PREMULTIPLIED o D2D1_ALPHA_MODE_IGNORE.

La aplicación debe crear destinos de representación una vez y mantenerse en ellos durante la vida útil de la aplicación o hasta que el método EndDraw del destino de representación devuelva el error de D2DERR_RECREATE_TARGET . Cuando reciba este error, vuelva a crear el destino de representación (y los recursos que haya creado).

Ejemplos

El código siguiente crea un destino de representación de controlador de dominio.

// Create a DC render target.
D2D1_RENDER_TARGET_PROPERTIES props = D2D1::RenderTargetProperties(
    D2D1_RENDER_TARGET_TYPE_DEFAULT,
    D2D1::PixelFormat(
        DXGI_FORMAT_B8G8R8A8_UNORM,
        D2D1_ALPHA_MODE_IGNORE),
    0,
    0,
    D2D1_RENDER_TARGET_USAGE_NONE,
    D2D1_FEATURE_LEVEL_DEFAULT
    );

hr = m_pD2DFactory->CreateDCRenderTarget(&props, &m_pDCRT);

En el código anterior, m_pD2DFactory es un puntero a id2D1Factory y m_pDCRT es un puntero a un id2D1DCRenderTarget.

En el ejemplo de código siguiente se enlaza un controlador de dominio al id2D1DCRenderTarget.

HRESULT DemoApp::OnRender(const PAINTSTRUCT &ps)
{

// Get the dimensions of the client drawing area.
GetClientRect(m_hwnd, &rc);

// Bind the DC to the DC render target.
hr = m_pDCRT->BindDC(ps.hdc, &rc);

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
Library D2d1.lib
Archivo DLL D2d1.dll

Consulte también

Introducción a la interoperación de Direct2D y GDI

ID2D1Factory

Formatos de píxel admitidos y modos alfa