Unterstützte Pixelformate und Alpha-Modi

In diesem Thema werden die Pixelformate und Alphamodi beschrieben, die von den verschiedenen Teilen von Direct2D unterstützt werden, einschließlich der einzelnen Renderzieltypen, der ID2D1Bitmap und der ID2D1ImageSource. Der Abschnitt ist wie folgt gegliedert.

Unterstützte YUV-Formate für DXGI-Bildquelle

Eine ID2D1ImageSource ist ein abstrahierter Anbieter von Pixeln. Sie kann entweder über WIC (CreateImageSourceFromWic ) oder eine IDXGISurface (CreateImageSourceFromDxgi) instanziiert werden.

ID2D1ImageSourceFromWic unterstützt die gleichen Pixelformate und Alphamodi wie ID2D1Bitmap.

Darüber hinaus unterstützt eine ID2D1ImageSource , die von IDXGISurface instanziiert wird, auch einige YUV-Pixelformate, einschließlich planarer Daten, die in mehrere Oberflächen aufgeteilt werden. Weitere Informationen zu den Anforderungen für jedes Pixelformat finden Sie unter CreateImageSourceFromDxgi .

Format
DXGI_FORMAT_AYUV
DXGI_FORMAT_NV12
DXGI_FORMAT_YUY2
DXGI_FORMAT_P208
DXGI_FORMAT_V208
DXGI_FORMAT_V408
DXGI_FORMAT_R8_UNORM
DXGI_FORMAT_R8G8_UNORM

 

Angeben eines Pixelformats für ein Renderziel

Wenn Sie ein Renderziel erstellen, müssen Sie dessen Pixelformat angeben. Um das Pixelformat anzugeben, verwenden Sie eine D2D1_PIXEL_FORMAT-Struktur , um das pixelFormat-Element einer D2D1_RENDER_TARGET_PROPERTIES-Struktur festzulegen. Anschließend übergeben Sie diese Struktur an die entsprechende Create-Methode, z. B . ID2D1Factory::CreateHwndRenderTarget.

Die D2D1_PIXEL_FORMAT-Struktur verfügt über zwei Felder:

  • format, ein DXGI_FORMAT Wert, der die Größe und Anordnung der Kanäle in jedem Pixel beschreibt, und
  • alpha, ein D2D1_ALPHA_MODE Wert, der beschreibt, wie Alphainformationen interpretiert werden.

Im folgenden Beispiel wird eine D2D1_PIXEL_FORMAT-Struktur erstellt und verwendet, um das Pixelformat und den Alphamodus eines ID2D1HwndRenderTarget anzugeben.

RECT rc;
GetClientRect(m_hwnd, &rc);

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

// Create a pixel format and initial its format
// and alphaMode fields.
D2D1_PIXEL_FORMAT pixelFormat = D2D1::PixelFormat(
    DXGI_FORMAT_B8G8R8A8_UNORM,
    D2D1_ALPHA_MODE_IGNORE
    );

D2D1_RENDER_TARGET_PROPERTIES props = D2D1::RenderTargetProperties();
props.pixelFormat = pixelFormat;

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

Verschiedene Renderziele unterstützen unterschiedliche Format- und Alphamoduskombinationen. In den folgenden Abschnitten werden die Von jedem Renderziel unterstützten Format- und Alphakombinationen aufgeführt.

Unterstützte Formate für ID2D1HwndRenderTarget

Die unterstützten Formate für ein ID2D1HwndRenderTarget hängen davon ab, ob es mithilfe von Hardware oder Software gerendert wird oder ob Direct2D den Renderingmodus standardmäßig automatisch verarbeitet.

Hinweis

Es wird empfohlen, DXGI_FORMAT_B8G8R8A8_UNORM als Pixelformat für eine bessere Leistung zu verwenden. Dies ist besonders hilfreich für Softwarerenderziele. BGRA-Formatziele sind besser als RGBA-Formate.

 

Wenn Sie ein ID2D1HwndRenderTarget erstellen, verwenden Sie die D2D1_RENDER_TARGET_PROPERTIES-Struktur , um Renderingoptionen anzugeben. Die Optionen umfassen das Pixelformat, wie im vorherigen Abschnitt beschrieben. Mit dem Typfeld dieser Struktur können Sie angeben, ob das Renderziel auf Hardware oder Software gerendert wird oder ob Direct2D den Renderingmodus automatisch bestimmen soll.

Verwenden Sie die Einstellung D2D1_RENDER_TARGET_TYPE_DEFAULT , um Direct2D zu aktivieren, um zu bestimmen, ob das Renderziel Hardware- oder Softwarerendering verwendet.

In der folgenden Tabelle sind die unterstützten Formate für ID2D1HwndRenderTarget-Objekte aufgeführt, die mithilfe der einstellung D2D1_RENDER_TARGET_TYPE_DEFAULT erstellt werden.

Format Alphamodus
DXGI_FORMAT_B8G8R8A8_UNORM D2D1_ALPHA_MODE_PREMULTIPLIED
DXGI_FORMAT_B8G8R8A8_UNORM D2D1_ALPHA_MODE_IGNORE
DXGI_FORMAT_B8G8R8A8_UNORM D2D1_ALPHA_MODE_UNKNOWN
DXGI_FORMAT_UNKNOWN D2D1_ALPHA_MODE_PREMULTIPLIED
DXGI_FORMAT_UNKNOWN D2D1_ALPHA_MODE_IGNORE
DXGI_FORMAT_UNKNOWN D2D1_ALPHA_MODE_UNKNOWN

 

Verwenden Sie die Einstellung D2D1_RENDER_TARGET_TYPE_HARDWARE , um die Verwendung des Hardwarerenderings für ein Renderziel zu erzwingen. In der folgenden Tabelle sind die unterstützten Formate für ID2D1HwndRenderTarget-Objekte aufgeführt, die explizit Das Hardwarerendering verwenden.

Format Alphamodus
DXGI_FORMAT_B8G8R8A8_UNORM D2D1_ALPHA_MODE_PREMULTIPLIED
DXGI_FORMAT_B8G8R8A8_UNORM D2D1_ALPHA_MODE_IGNORE
DXGI_FORMAT_B8G8R8A8_UNORM D2D1_ALPHA_MODE_UNKNOWN
DXGI_FORMAT_R8G8B8A8_UNORM D2D1_ALPHA_MODE_PREMULTIPLIED
DXGI_FORMAT_R8G8B8A8_UNORM D2D1_ALPHA_MODE_IGNORE
DXGI_FORMAT_R8G8B8A8_UNORM D2D1_ALPHA_MODE_UNKNOWN
DXGI_FORMAT_UNKNOWN D2D1_ALPHA_MODE_PREMULTIPLIED
DXGI_FORMAT_UNKNOWN D2D1_ALPHA_MODE_IGNORE
DXGI_FORMAT_UNKNOWN D2D1_ALPHA_MODE_UNKNOWN

 

Verwenden Sie die Einstellung D2D1_RENDER_TARGET_TYPE_SOFTWARE , um die Verwendung von Softwarerendering für ein Renderziel zu erzwingen. In der folgenden Tabelle sind die unterstützten Formate für ID2D1HwndRenderTarget-Objekte aufgeführt, die explizit Softwarerendering verwenden.

Format Alphamodus
DXGI_FORMAT_B8G8R8A8_UNORM D2D1_ALPHA_MODE_PREMULTIPLIED
DXGI_FORMAT_B8G8R8A8_UNORM D2D1_ALPHA_MODE_IGNORE
DXGI_FORMAT_B8G8R8A8_UNORM D2D1_ALPHA_MODE_UNKNOWN
DXGI_FORMAT_UNKNOWN D2D1_ALPHA_MODE_PREMULTIPLIED
DXGI_FORMAT_UNKNOWN D2D1_ALPHA_MODE_IGNORE
DXGI_FORMAT_UNKNOWN D2D1_ALPHA_MODE_UNKNOWN

 

Unabhängig davon, ob id2D1HwndRenderTarget hardwarebeschleunigt ist, verwendet das DXGI_FORMAT_UNKNOWN-Format standardmäßig DXGI_FORMAT_B8G8R8A8 und der D2D1_ALPHA_MODE_UNKNOWN Alphamodus verwendet standardmäßig D2D1_ALPHA_MODE_IGNORE .

Unterstützte Formate für ID2D1DeviceContext

Ab Windows 8 nutzt der Gerätekontext mehr der Direct3D-Farbformate, z. B.:

  • DXGI_FORMAT_B8G8R8A8_UNORM_SRGB
  • DXGI_FORMAT_R8G8B8A8_UNORM_SRGB
  • DXGI_FORMAT_R16G16B16A16_UNORM
  • DXGI_FORMAT_R16G16B16A16_FLOAT
  • DXGI_FORMAT_R32G32B32A32_FLOAT

Verwenden Sie die ID2D1DeviceContext::IsDxgiFormatSupported-Methode , um zu ermitteln, ob ein Format in einem bestimmten Gerätekontext funktioniert. Diese Formate können auch auf einem ID2D1HwndRenderTarget funktionieren.

Diese Formate ergänzen die Formate, die von der ID2D1HwndRenderTarget-Schnittstelle in Windows 7 unterstützt werden. Weitere Informationen finden Sie unter Geräte und Gerätekontexte .

Unterstützte Formate für kompatibles Renderziel

Ein kompatibles Renderziel (ein ID2D1BitmapRenderTarget , das von einer der ID2D1RenderTarget::CreateCompatibleRenderTarget-Methoden erstellt wird) erbt die unterstützten Formate und Alphamodi des Renderziels, von dem es erstellt wurde. Ein kompatibles Renderziel unterstützt auch die folgenden Kombinationen aus Format und Alphamodus, unabhängig davon, was das übergeordnete Ziel unterstützt.

Format Alphamodus
DXGI_FORMAT_A8_UNORM D2D1_ALPHA_MODE_PREMULTIPLIED
DXGI_FORMAT_A8_UNORM D2D1_ALPHA_MODE_STRAIGHT
DXGI_FORMAT_UNKNOWN D2D1_ALPHA_MODE_UNKNOWN

 

Das DXGI_FORMAT_UNKNOWN-Format verwendet standardmäßig das übergeordnete Renderzielformat, und der D2D1_ALPHA_MODE_UNKNOWN Alphamodus verwendet standardmäßig D2D1_ALPHA_MODE_PREMULTIPLIED .

Unterstützte Formate für das DXGI Surface-Renderziel

Ein DXGI-Renderziel ist ein ID2D1RenderTarget , das von einer der ID2D1Factory::CreateDxgiSurfaceRenderTarget-Methoden erstellt wird. Es unterstützt die folgenden Kombinationen aus Format und Alphamodus.

Format Alphamodus
DXGI_FORMAT_B8G8R8A8_UNORM D2D1_ALPHA_MODE_PREMULTIPLIED
DXGI_FORMAT_B8G8R8A8_UNORM D2D1_ALPHA_MODE_IGNORE
DXGI_FORMAT_R8G8B8A8_UNORM D2D1_ALPHA_MODE_PREMULTIPLIED
DXGI_FORMAT_R8G8B8A8_UNORM D2D1_ALPHA_MODE_IGNORE
DXGI_FORMAT_A8_UNORM D2D1_ALPHA_MODE_PREMULTIPLIED
DXGI_FORMAT_A8_UNORM D2D1_ALPHA_MODE_STRAIGHT
DXGI_FORMAT_UNKNOWN D2D1_ALPHA_MODE_PREMULTIPLIED
DXGI_FORMAT_UNKNOWN D2D1_ALPHA_MODE_IGNORE

 

Hinweis

Das Format muss mit dem Format der DXGI-Oberfläche übereinstimmen, auf die das DXGI-Oberflächenrenderziel bezieht.

 

Das DXGI_FORMAT_UNKNOWN-Format verwendet standardmäßig das DXGI-Oberflächenformat. Verwenden Sie nicht den D2D1_ALPHA_MODE_UNKNOWN Alphamodus mit einem DXGI-Oberflächenrenderziel. Es hat keinen Standardwert und führt dazu, dass die Erstellung des DXGI-Surface-Renderziels fehlschlägt.

Unterstützte Formate für wic Bitmap-Renderziel

Ein WIC-Bitmaprender-Renderziel ist ein ID2D1RenderTarget , das von einer der ID2D1Factory::CreateWicBitmapRenderTarget-Methoden erstellt wird. Es unterstützt die folgenden Kombinationen aus Format und Alphamodus.

Format Alphamodus
DXGI_FORMAT_B8G8R8A8_UNORM D2D1_ALPHA_MODE_PREMULTIPLIED
DXGI_FORMAT_B8G8R8A8_UNORM D2D1_ALPHA_MODE_IGNORE
DXGI_FORMAT_B8G8R8A8_UNORM D2D1_ALPHA_MODE_UNKNOWN
DXGI_FORMAT_A8_UNORM D2D1_ALPHA_MODE_PREMULTIPLIED
DXGI_FORMAT_A8_UNORM D2D1_ALPHA_MODE_STRAIGHT
DXGI_FORMAT_A8_UNORM D2D1_ALPHA_MODE_UNKNOWN
DXGI_FORMAT_UNKNOWN D2D1_ALPHA_MODE_PREMULTIPLIED
DXGI_FORMAT_UNKNOWN D2D1_ALPHA_MODE_IGNORE
DXGI_FORMAT_UNKNOWN D2D1_ALPHA_MODE_UNKNOWN

 

Das Pixelformat des WIC-Bitmapziels muss mit dem Pixelformat der WIC-Bitmap übereinstimmen.

DasDXGI_FORMAT_UNKNOWN-Format verwendet standardmäßig das WIC-Bitmapformat, und der D2D1_ALPHA_MODE_UNKNOWN Alphamodus verwendet standardmäßig den WIC-Bitmap-Alphamodus.

Unterstützte Formate für ID2D1DCRenderTarget

Ein ID2D1DCRenderTarget unterstützt die folgenden Kombinationen aus Format und Alphamodus.

Format Alphamodus
DXGI_FORMAT_B8G8R8A8_UNORM D2D1_ALPHA_MODE_PREMULTIPLIED
DXGI_FORMAT_B8G8R8A8_UNORM D2D1_ALPHA_MODE_IGNORE

 

Verwenden Sie nicht das DXGI_FORMAT_UNKNOWN-Format oder den D2D1_ALPHA_MODE_UNKNOWN Alphamodus mit einem ID2D1DCRenderTarget. Es hat keinen Standardwert und führt dazu, dass die ID2D1DCRenderTarget-Erstellung fehlschlägt.

Angeben eines Pixelformats für eine ID2D1Bitmap

Im Allgemeinen unterstützen ID2D1Bitmap-Objekte die folgenden Formate und Alphamodi (mit einigen Einschränkungen, die in den folgenden Absätzen beschrieben werden.)

Format Alphamodus
DXGI_FORMAT_B8G8R8A8_UNORM D2D1_ALPHA_MODE_PREMULTIPLIED
DXGI_FORMAT_B8G8R8A8_UNORM D2D1_ALPHA_MODE_IGNORE
DXGI_FORMAT_B8G8R8A8_UNORM D2D1_ALPHA_MODE_UNKNOWN
DXGI_FORMAT_A8_UNORM D2D1_ALPHA_MODE_PREMULTIPLIED
DXGI_FORMAT_A8_UNORM D2D1_ALPHA_MODE_STRAIGHT
DXGI_FORMAT_A8_UNORM D2D1_ALPHA_MODE_UNKNOWN
DXGI_FORMAT_UNKNOWN D2D1_ALPHA_MODE_PREMULTIPLIED
DXGI_FORMAT_UNKNOWN D2D1_ALPHA_MODE_IGNORE
DXGI_FORMAT_UNKNOWN D2D1_ALPHA_MODE_UNKNOWN
DXGI_FORMAT_B8G8R8X8_UNORM (nur Windows 8.1 und höher) D2D1_ALPHA_MODE_IGNORE
DXGI_FORMAT_BC1_UNORM (nur Windows 8.1 und höher) D2D1_ALPHA_MODE_PREMULTIPLIED
DXGI_FORMAT_BC1_UNORM (nur Windows 8.1 und höher) D2D1_ALPHA_MODE_IGNORE
DXGI_FORMAT_BC1_UNORM (nur Windows 8.1 und höher) D2D1_ALPHA_MODE_UNKNOWN
DXGI_FORMAT_BC2_UNORM (nur Windows 8.1 und höher) D2D1_ALPHA_MODE_PREMULTIPLIED
DXGI_FORMAT_BC2_UNORM (nur Windows 8.1 und höher) D2D1_ALPHA_MODE_IGNORE
DXGI_FORMAT_BC2_UNORM (nur Windows 8.1 und höher) D2D1_ALPHA_MODE_UNKNOWN
DXGI_FORMAT_BC3_UNORM (nur Windows 8.1 und höher) D2D1_ALPHA_MODE_PREMULTIPLIED
DXGI_FORMAT_BC3_UNORM (nur Windows 8.1 und höher) D2D1_ALPHA_MODE_IGNORE
DXGI_FORMAT_BC3_UNORM (nur Windows 8.1 und höher) D2D1_ALPHA_MODE_UNKNOWN

 

Wenn Sie die ID2D1RenderTarget::CreateSharedBitmap-Methode verwenden, verwenden Sie das PixelFormat-Feld einer D2D1_BITMAP_PROPERTIES-Struktur , um das Pixelformat des neuen Renderziels anzugeben. Es muss mit dem Pixelformat der ID2D1Bitmap-Quelle übereinstimmen.

Wenn Sie die CreateBitmapFromWicBitmap-Methode verwenden, verwenden Sie das PixelFormat-Feld einer D2D1_BITMAP_PROPERTIES-Struktur (anstelle des pixelFormat-Elements einer D2D1_RENDER_TARGET_PROPERTIES-Struktur ), um das Pixelformat des neuen Renderziels anzugeben. Es muss mit dem Pixelformat der WIC-Bitmapquelle übereinstimmen.

Hinweis

Weitere Informationen zur Unterstützung für blockkomprimierte Pixelformate (BCn) finden Sie unter Blockkomprimierung.

 

Unterstützte WIC-Formate

Wenn Sie die CreateBitmapFromWicBitmap-Methode verwenden, um eine Bitmap aus einer WIC-Bitmap zu erstellen, oder wenn Sie die CreateSharedBitmap-Methode mit einem IWICBitmapLock verwenden, muss die WIC-Quelle in einem von Direct2D unterstützten Format vorliegen.

WIC-Format Entsprechendes DXGI-Format Entsprechender Alphamodus
GUID_WICPixelFormat8bppAlpha DXGI_FORMAT_A8_UNORM D2D1_ALPHA_MODE_STRAIGHT oder D2D1_ALPHA_MODE_PREMULTIPLIED
GUID_WICPixelFormat32bppPRGBA DXGI_FORMAT_R8G8B8A8_UNORM D2D1_ALPHA_MODE_PREMULTIPLIED oder D2D1_ALPHA_MODE_IGNORE
GUID_WICPixelFormat32bppBGR DXGI_FORMAT_B8G8R8A8_UNORM D2D1_ALPHA_MODE_IGNORE
GUID_WICPixelFormat32bppPBGRA DXGI_FORMAT_B8G8R8A8_UNORM D2D1_ALPHA_MODE_PREMULTIPLIED

 

Ein Beispiel zum Konvertieren einer WIC-Bitmap in ein unterstütztes Format finden Sie unter Laden einer Bitmap aus einer Datei.

Verwenden eines nicht unterstützten Formats

Die Verwendung einer anderen Kombination als die Pixelformate und Alphamodi, die in den vorherigen Tabellen aufgeführt sind, führt zu einem D2DERR_UNSUPPORTED_PIXEL_FORMAT - oder E_INVALIDARG-Fehler .

Informationen zu Alphamodi

Informationen zu vormultiplizierten und geraden Alpha-Modi

Die D2D1_ALPHA_MODE-Enumeration gibt an, ob der Alphakanal vormultipliziertes Alpha, gerades Alpha verwendet oder ignoriert und als undurchsichtig betrachtet werden soll. Bei geradem Alpha gibt der Alphakanal einen Wert an, der der Transparenz einer Farbe entspricht.

Farben werden von Direct2D-Zeichnungsbefehlen und -Pinseln unabhängig vom Zielformat immer als gerade Alpha behandelt.

Bei vormultiplizierter Alpha wird jeder Farbkanal durch den Alphawert skaliert. In der Regel ist kein Farbkanalwert größer als der Alphakanalwert. Wenn ein Farbkanalwert in einem vorab multiplizierten Format größer als der Alphakanal ist, erstellt die Standardmäßige Mathematik zum Übermischen von Quellen eine additive Mischung.

Der Wert des Alphakanals selbst ist sowohl in gerader als auch in vorab multiplizierter Alpha identisch.

Unterschiede zwischen geradem und vormultipliziertem Alpha

Beim Beschreiben einer RGBA-Farbe mit geradem Alpha wird der Alphawert der Farbe im Alphakanal gespeichert. Um beispielsweise eine rote Farbe zu beschreiben, die 60 % undurchsichtig ist, verwenden Sie die folgenden Werte: (255, 0, 0, 255 * 0,6) = (255, 0, 0, 153). Der Wert 255 gibt volles Rot an, und 153 (60 Prozent von 255) gibt an, dass die Farbe eine Deckkraft von 60 Prozent aufweisen sollte.

Beim Beschreiben einer RGBA-Farbe mithilfe des vormultiplizierten Alphas wird jede Farbe mit dem Alphawert multipliziert: (255 * 0,6, 0 * 0,6, 0 * 0,6, 255 * 0,6) = (153, 0, 0, 153).

Unabhängig vom Alphamodus des Renderziels werden D2D1_COLOR_F Werte immer als gerade Alpha interpretiert. Wenn Sie z. B. die Farbe eines ID2D1SolidColorBrush für die Verwendung mit einem Renderziel angeben, das den vormultiplizierten Alphamodus verwendet, geben Sie die Farbe genau so an, wie Sie es auch beim Renderziel mit geradem Alpha-Ziel machen würden. Wenn Sie mit dem Pinsel malen, übersetzt Direct2D die Farbe für Sie in das Zielformat.

Alphamodus für Renderziele

Unabhängig von der Alphamoduseinstellung unterstützen die Inhalte eines Renderziels Transparenz. Wenn Sie beispielsweise ein teilweise transparentes rotes Rechteck mit einem Renderziel mit einem Alphamodus von D2D1_ALPHA_MODE_IGNORE zeichnen, erscheint das Rechteck rosa (wenn der Hintergrund weiß ist).

Wenn Sie ein teilweise transparentes rotes Rechteck zeichnen, wenn der Alphamodus D2D1_ALPHA_MODE_PREMULTIPLIED ist, wird das Rechteck rosa angezeigt (vorausgesetzt, der Hintergrund ist weiß), und Sie können es zu dem durchschauen, was sich hinter dem Renderziel befindet. Dies ist nützlich, wenn Sie ein ID2D1DCRenderTarget verwenden, um in einem transparenten Fenster zu rendern, oder wenn Sie ein kompatibles Renderziel (ein Von der CreateCompatibleRenderTarget-Methode erstelltes Renderziel) verwenden, um eine Bitmap zu erstellen, die Transparenz unterstützt.

ClearType- und Alphamodus

Wenn Sie einen anderen Alphamodus als D2D1_ALPHA_MODE_IGNORE für ein Renderziel angeben, ändert sich der Text-Antialiasing-Modus automatisch von D2D1_TEXT_ANTIALIAS_MODE CLEARTYPE in D2D1_TEXT_ANTIALIAS_MODE GRAYSCALE. (Wenn Sie einen Alphamodus von D2D1_ALPHA_MODE_UNKNOWN angeben, legt Direct2D die Alpha für Sie fest, abhängig von der Art des Renderziels.)

Sie können die SetTextAntialiasMode-Methode verwenden, um den Text-Antialiasmodus wieder in D2D1_TEXT_ANTIALIAS_MODE CLEARTYPE zu ändern. Das Rendern von ClearType-Text auf eine transparente Oberfläche kann jedoch zu unvorhersehbaren Ergebnissen führen. Wenn Sie ClearType-Text in einem transparenten Renderziel rendern möchten, empfiehlt es sich, eine der beiden folgenden Techniken zu verwenden.

  • Verwenden Sie die PushAxisAlignedClip-Methode , um das Renderziel in den Bereich zu schneiden, in dem der Text gerendert wird. Rufen Sie dann die Clear-Methode auf, geben Sie eine undurchsichtige Farbe an, und rendern Sie dann Den Text.
  • Verwenden Sie DrawRectangle , um ein undurchsichtiges Rechteck hinter dem Bereich zu zeichnen, in dem der Text gerendert wird.

D2D1_PIXEL_FORMAT

D2D1_ALPHA_MODE

DXGI_FORMAT