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 |