Condividi tramite


Metodo ID2D1Factory::CreateDCRenderTarget (d2d1.h)

Crea una destinazione di rendering che disegna in un contesto di dispositivo GDI (Graphics Device Interface) di Windows.

Sintassi

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

Parametri

[in] renderTargetProperties

Tipo: const D2D1_RENDER_TARGET_PROPERTIES*

La modalità di rendering, il formato pixel, le opzioni di comunicazione remota, le informazioni DPI e il supporto minimo di DirectX necessario per il rendering hardware. Per abilitare la destinazione di rendering del contesto di dispositivo (DC) per funzionare con GDI, impostare il formato DXGI su DXGI_FORMAT_B8G8R8A8_UNORM e la modalità alfa su D2D1_ALPHA_MODE_PREMULTIPLIED o D2D1_ALPHA_MODE_IGNORE. Per altre informazioni sui formati pixel, vedere Formati pixel supportati e modalità alfa.

[out] dcRenderTarget

Tipo: ID2D1DCRenderTarget**

Quando termina, dcRenderTarget contiene l'indirizzo del puntatore all'OGGETTO ID2D1DCRenderTarget creato dal metodo .

Valore restituito

Tipo: HRESULT

Se questo metodo ha esito positivo, restituisce S_OK. In caso contrario, restituisce un codice di errore HRESULT .

Commenti

Prima di poter eseguire il rendering con una destinazione di rendering del controller di dominio, è necessario usare il metodo BindDC della destinazione di rendering per associarlo a un controller di dominio GDI. Eseguire questa operazione per ogni controller di dominio diverso e ogni volta che si verifica una modifica delle dimensioni dell'area in cui si desidera disegnare.

Per abilitare il funzionamento della destinazione di rendering del controller di dominio con GDI, impostare il formato DXGI della destinazione di rendering su DXGI_FORMAT_B8G8R8A8_UNORM e la modalità alfa su D2D1_ALPHA_MODE_PREMULTIPLIED o D2D1_ALPHA_MODE_IGNORE.

L'applicazione deve creare destinazioni di rendering una sola volta e mantenerle per la durata dell'applicazione o fino a quando il metodo EndDraw della destinazione di rendering non restituisce l'errore D2DERR_RECREATE_TARGET . Quando viene visualizzato questo errore, ricreare la destinazione di rendering e tutte le risorse create.

Esempio

Il codice seguente crea una destinazione di rendering del controller di 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);

Nel codice precedente , m_pD2DFactory è un puntatore a un ID2D1Factory e m_pDCRT è un puntatore a un ID2D1DCRenderTarget.

L'esempio di codice successivo associa un controller di dominio a 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);

Requisiti

Requisito Valore
Client minimo supportato Windows 7, Windows Vista con SP2 e Aggiornamento della piattaforma per Windows Vista [app desktop | App UWP]
Server minimo supportato Windows Server 2008 R2, Windows Server 2008 con SP2 e Platform Update per Windows Server 2008 [app desktop | App UWP]
Piattaforma di destinazione Windows
Intestazione d2d1.h
Libreria D2d1.lib
DLL D2d1.dll

Vedi anche

Panoramica dell'interoperabilità Direct2D e GDI

ID2D1Factory

Formati pixel e modalità alfa supportati