Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
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 |