D2D1_RENDER_TARGET_PROPERTIES-Struktur (d2d1.h)

Enthält Renderingoptionen (Hardware oder Software), Pixelformat, DPI-Informationen, Remotingoptionen und Direct3D-Unterstützungsanforderungen für ein Renderziel.

Syntax

typedef struct D2D1_RENDER_TARGET_PROPERTIES {
  D2D1_RENDER_TARGET_TYPE  type;
  D2D1_PIXEL_FORMAT        pixelFormat;
  FLOAT                    dpiX;
  FLOAT                    dpiY;
  D2D1_RENDER_TARGET_USAGE usage;
  D2D1_FEATURE_LEVEL       minLevel;
} D2D1_RENDER_TARGET_PROPERTIES;

Member

type

Typ: D2D1_RENDER_TARGET_TYPE

Ein Wert, der angibt, ob das Renderziel das Hardware- oder Softwarerendering erzwingen soll. Der Wert D2D1_RENDER_TARGET_TYPE_DEFAULT gibt an, dass das Renderziel Hardwarerendering verwenden soll, sofern es verfügbar ist. andernfalls wird Softwarerendering verwendet. Beachten Sie, dass WIC-Bitmaprenderziele kein Hardwarerendering unterstützen.

pixelFormat

Typ: D2D1_PIXEL_FORMAT

Das Pixelformat und der Alphamodus des Renderziels. Sie können die Funktion D2D1::P ixelFormat verwenden, um ein Pixelformat zu erstellen, das angibt, dass Direct2D das Pixelformat und den Alphamodus für Sie auswählen soll. Eine Liste der Pixelformate und Alphamodi, die von jedem Renderziel unterstützt werden, finden Sie unter Unterstützte Pixelformate und Alphamodi.

dpiX

Typ: FLOAT

Der horizontale DPI des Renderziels. Um den Standard-DPI zu verwenden, legen Sie dpiX und dpiY auf 0 fest. Weitere Informationen finden Sie im Abschnitt mit Hinweisen.

dpiY

Typ: FLOAT

Der vertikale DPI des Renderziels. Um den Standard-DPI zu verwenden, legen Sie dpiX und dpiY auf 0 fest. Weitere Informationen finden Sie im Abschnitt mit Hinweisen.

usage

Typ: D2D1_RENDER_TARGET_USAGE

Ein Wert, der angibt, wie das Renderziel remoteisiert wird und ob es GDI-kompatibel sein soll. Legen Sie auf D2D1_RENDER_TARGET_USAGE_NONE fest, um ein Renderziel zu erstellen, das nicht mit GDI kompatibel ist und, sofern verfügbar, Direct3D-Befehlsstreamremoting verwendet.

minLevel

Typ: D2D1_FEATURE_LEVEL

Ein Wert, der die minimale Direct3D-Featureebene angibt, die für das Hardwarerendering erforderlich ist. Wenn die angegebene Mindeststufe nicht verfügbar ist, verwendet das Renderziel Softwarerendering, wenn der Typmember auf D2D1_RENDER_TARGET_TYPE_DEFAULT festgelegt ist. wenn type auf D2D1_RENDER_TARGET_TYPE_HARDWARE festgelegt ist, schlägt die Renderzielerstellung fehl. Der Wert D2D1_FEATURE_LEVEL_DEFAULT gibt an, dass Direct2D bestimmen soll, ob die Direct3D-Featureebene des Geräts angemessen ist. Dieses Feld wird nur beim Erstellen von ID2D1HwndRenderTarget - und ID2D1DCRenderTarget-Objekten verwendet.

Hinweise

Verwenden Sie diese Struktur beim Erstellen eines Renderziels, oder verwenden Sie sie mit der ID2D1RenderTarget::IsSupported-Methode , um die von einem vorhandenen Renderziel unterstützten Eigenschaften zu überprüfen.

Zur Vereinfachung stellt Direct2D die Hilfsfunktion D2D1::RenderTargetProperties zum Erstellen D2D1_RENDER_TARGET_PROPERTIES-Strukturen bereit. Eine einfache Möglichkeit zum Erstellen einer D2D1_RENDER_TARGET_PROPERTIES-Struktur , die für die meisten Renderziele funktioniert, besteht darin, die Funktion ohne Angabe von Parametern aufzurufen. Dadurch wird eine D2D1_RENDER_TARGET_PROPERTIES-Struktur erstellt, deren Felder auf Standardwerte festgelegt sind. Weitere Informationen finden Sie unter D2D1::RenderTargetProperties.

Nicht alle Renderziele unterstützen das Hardwarerendering. Eine Liste finden Sie in der Übersicht über Renderziele.

Verwenden der Standard-DPI-Einstellungen

Um den Standard-DPI zu verwenden, legen Sie dpiX und dpiY auf 0 fest. Der Standard-DPI variiert je nach Renderziel:
  • Bei einem kompatiblen Renderziel ist der STANDARD-DPI der DPI des übergeordneten Renderziels.
  • Bei einem ID2D1HwndRenderTarget ist der Standard-DPI der System-DPI, der aus der ID2D1Factory des Renderziels abgerufen wird.
  • Bei anderen Renderzielen beträgt der Standard-DPI 96.
Um die Standardeinstellung DPI verwenden zu können, müssen sowohl dpiX als auch dpiY auf 0 festgelegt werden. Wenn Sie nur einen Wert auf 0 festlegen, wird beim Erstellen eines Renderziels ein E_INVALIDARG Fehler verursacht.

Beispiele

Im folgenden Beispiel wird die D2D1::RenderTargetProperties-Funktion verwendet, um eine D2D1_RENDER_TARGET_PROPERTIES Struktur zu erstellen, die für die meisten Renderziele geeignet ist.

RECT rc;
GetClientRect(m_hwnd, &rc);

D2D1_SIZE_U size = D2D1::SizeU(
    rc.right - rc.left,
    rc.bottom - rc.top
    );

// Create a Direct2D render target.
hr = m_pD2DFactory->CreateHwndRenderTarget(
    D2D1::RenderTargetProperties(),
    D2D1::HwndRenderTargetProperties(m_hwnd, size),
    &m_pRenderTarget
    );

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]
Kopfzeile d2d1.h

Weitere Informationen

ID2D1RenderTarget::IsSupported

Übersicht über Renderziele