ID2D1Factory::CreateDCRenderTarget-Methode (d2d1.h)
Erstellt ein Renderziel, das auf einen GDI-Gerätekontext (Windows Graphics Device Interface) verweist.
Syntax
HRESULT CreateDCRenderTarget(
[in] const D2D1_RENDER_TARGET_PROPERTIES *renderTargetProperties,
[out] ID2D1DCRenderTarget **dcRenderTarget
);
Parameter
[in] renderTargetProperties
Typ: const D2D1_RENDER_TARGET_PROPERTIES*
Renderingmodus, Pixelformat, Remotingoptionen, DPI-Informationen und die minimale DirectX-Unterstützung, die für das Hardwarerendering erforderlich ist. Damit das Renderziel des Gerätekontexts (Device Context, DC) mit GDI funktioniert, legen Sie das DXGI-Format auf DXGI_FORMAT_B8G8R8A8_UNORM und den Alphamodus auf D2D1_ALPHA_MODE_PREMULTIPLIED oder D2D1_ALPHA_MODE_IGNORE fest. Weitere Informationen zu Pixelformaten finden Sie unter Unterstützte Pixelformate und Alphamodi.
[out] dcRenderTarget
Typ: ID2D1DCRenderTarget**
Wenn diese Methode zurückgibt, enthält dcRenderTarget die Adresse des Zeigers auf den ID2D1DCRenderTarget , der von der -Methode erstellt wurde.
Rückgabewert
Typ: HRESULT
Wenn diese Methode erfolgreich ist, wird S_OK zurückgegeben. Andernfalls wird ein HRESULT-Fehlercode zurückgegeben.
Hinweise
Bevor Sie mit einem DC-Renderziel rendern können, müssen Sie die BindDC-Methode des Renderziels verwenden, um es einem GDI-DC zuzuordnen. Führen Sie dies für jeden einzelnen DC und bei jeder Änderung der Größe des Bereichs aus, auf den Sie zeichnen möchten.
Damit das DC-Renderziel mit GDI funktioniert, legen Sie das DXGI-Format des Renderziels auf DXGI_FORMAT_B8G8R8A8_UNORM und den Alphamodus auf D2D1_ALPHA_MODE_PREMULTIPLIED oder D2D1_ALPHA_MODE_IGNORE fest.
Ihre Anwendung sollte Renderziele einmal erstellen und diese für die Lebensdauer der Anwendung oder bis die EndDraw-Methode des Renderziels den D2DERR_RECREATE_TARGET Fehler zurückgibt. Wenn dieser Fehler angezeigt wird, erstellen Sie das Renderziel (und alle erstellten Ressourcen) neu.
Beispiele
Mit dem folgenden Code wird ein DC-Renderziel erstellt.
// 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);
Im vorherigen Code ist m_pD2DFactory ein Zeiger auf eine ID2D1Factory, und m_pDCRT ist ein Zeiger auf ein ID2D1DCRenderTarget.
Im nächsten Codebeispiel wird ein DC an id2D1DCRenderTarget gebunden.
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);
Anforderungen
Anforderung | Wert |
---|---|
Unterstützte Mindestversion (Client) | Windows 7, Windows Vista mit SP2 und Plattformupdate für Windows Vista [Desktop-Apps | UWP-Apps] |
Unterstützte Mindestversion (Server) | Windows Server 2008 R2, Windows Server 2008 mit SP2 und Plattformupdate für Windows Server 2008 [Desktop-Apps | UWP-Apps] |
Zielplattform | Windows |
Kopfzeile | d2d1.h |
Bibliothek | D2d1.lib |
DLL | D2d1.dll |