Método ID2D1Factory::CreateDCRenderTarget (d2d1.h)
Cria um destino de renderização que se baseia em um contexto de dispositivo GDI (Interface do Dispositivo Gráfico do Windows).
Sintaxe
HRESULT CreateDCRenderTarget(
[in] const D2D1_RENDER_TARGET_PROPERTIES *renderTargetProperties,
[out] ID2D1DCRenderTarget **dcRenderTarget
);
Parâmetros
[in] renderTargetProperties
Tipo: const D2D1_RENDER_TARGET_PROPERTIES*
O modo de renderização, o formato de pixel, as opções de comunicação remota, as informações de DPI e o suporte mínimo do DirectX necessário para a renderização de hardware. Para habilitar o destino de renderização do dc (contexto do dispositivo) para trabalhar com GDI, defina o formato DXGI como DXGI_FORMAT_B8G8R8A8_UNORM e o modo alfa como D2D1_ALPHA_MODE_PREMULTIPLIED ou D2D1_ALPHA_MODE_IGNORE. Para obter mais informações sobre formatos de pixel, consulte Formatos de pixel com suporte e modos alfa.
[out] dcRenderTarget
Tipo: ID2D1DCRenderTarget**
Quando esse método retorna, dcRenderTarget contém o endereço do ponteiro para o ID2D1DCRenderTarget criado pelo método .
Retornar valor
Tipo: HRESULT
Se o método for bem-sucedido, ele retornará S_OK. Caso contrário, ele retornará um código de erro HRESULT .
Comentários
Antes de renderizar com um destino de renderização dc, você deve usar o método BindDC do destino de renderização para associá-lo a um DC GDI. Faça isso para cada DC diferente e sempre que houver uma alteração no tamanho da área para a qual você deseja desenhar.
Para habilitar o destino de renderização de DC para trabalhar com GDI, defina o formato DXGI do destino de renderização como DXGI_FORMAT_B8G8R8A8_UNORM e modo alfa para D2D1_ALPHA_MODE_PREMULTIPLIED ou D2D1_ALPHA_MODE_IGNORE.
Seu aplicativo deve criar destinos de renderização uma vez e mantê-los durante a vida útil do aplicativo ou até que o método EndDraw do destino de renderização retorne o erro D2DERR_RECREATE_TARGET . Ao receber esse erro, recrie o destino de renderização (e todos os recursos que ele criou).
Exemplos
O código a seguir cria um destino de renderização dc.
// 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);
No código anterior, m_pD2DFactory é um ponteiro para um ID2D1Factory e m_pDCRT é um ponteiro para um ID2D1DCRenderTarget.
O próximo exemplo de código associa um DC ao 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 | Valor |
---|---|
Cliente mínimo com suporte | Windows 7, Windows Vista com SP2 e Atualização de Plataforma para Windows Vista [aplicativos da área de trabalho | Aplicativos UWP] |
Servidor mínimo com suporte | Windows Server 2008 R2, Windows Server 2008 com SP2 e Atualização de Plataforma para Windows Server 2008 [aplicativos da área de trabalho | Aplicativos UWP] |
Plataforma de Destino | Windows |
Cabeçalho | d2d1.h |
Biblioteca | D2d1.lib |
DLL | D2d1.dll |