Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
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 |