Freigeben über


ID2D1DeviceContext2::CreateImageSourceFromDxgi-Methode (d2d1_3.h)

Erstellt eine Bildquelle aus einer Reihe von DXGI-Oberflächen. Die YCbCr-Oberflächen werden beim anschließenden Zeichnen automatisch in RGBA konvertiert.

Syntax

HRESULT CreateImageSourceFromDxgi(
  IDXGISurface                        **surfaces,
  UINT32                              surfaceCount,
  DXGI_COLOR_SPACE_TYPE               colorSpace,
  D2D1_IMAGE_SOURCE_FROM_DXGI_OPTIONS options,
  ID2D1ImageSource                    **imageSource
);

Parameter

surfaces

Typ: [in] IDXGISurface**

Die DXGI-Oberflächen, aus der die Bildquelle erstellt werden soll.

surfaceCount

Typ: UINT32

Die Anzahl der bereitgestellten Flächen; muss zwischen 1 und drei sein.

colorSpace

Typ: DXGI_COLOR_SPACE_TYPE

Der Farbraum der Eingabe.

options

Typ: D2D1_IMAGE_SOURCE_FROM_DXGI_OPTIONS

Optionen, die Farbraumkonvertierungen steuern.

imageSource

Typ: [out] ID2D1ImageSource**

Empfängt die neue Imagequelle instance.

Rückgabewert

Typ: HRESULT

S_OK, wenn erfolgreich, andernfalls ein HRESULT-Fehler.

Hinweise

Diese Methode erstellt eine Bildquelle, die zum Zeichnen des Bilds verwendet werden kann.

Diese Methode unterstützt Oberflächen, die einen begrenzten Satz von DXGI-Formaten und DXGI-Farbraumtypen verwenden. Nur die folgenden Kombinationen von Farbraumtypen, Oberflächenformaten und Oberflächenanzahl werden unterstützt:

Farbraumtyp Surface-Anzahl(n) Surface-Format(s)
DXGI_COLOR_SPACE_RGB_FULL_G22_NONE_P709 1 Standardmäßige D2D-unterstützte Pixelformate:
  • DXGI_FORMAT_A8_UNORM
  • DXGI_FORMAT_R8_UNORM
  • DXGI_FORMAT_R8G8_UNORM
  • DXGI_FORMAT_R8G8B8A8_UNORM
  • DXGI_FORMAT_B8G8R8A8_UNORM
  • DXGI_FORMAT_B8G8R8X8_UNORM
  • DXGI_FORMAT_R8G8B8A8_UNORM_SRGB
  • DXGI_FORMAT_B8G8R8A8_UNORM_SRGB
  • DXGI_FORMAT_R16G16B16A16_FLOAT
  • DXGI_FORMAT_R16G16B16A16_UNORM
  • DXGI_FORMAT_R32G32B32A32_FLOAT
  • DXGI_FORMAT_BC1_UNORM
  • DXGI_FORMAT_BC2_UNORM
  • DXGI_FORMAT_BC3_UNORM
DXGI_COLOR_SPACE_YCBCR_FULL_G22_NONE_P709_X601 1, 2, 3 Wenn die Surface-Anzahl 1 ist:
  • DXGI_FORMAT_AYUV
  • DXGI_FORMAT_NV12
  • DXGI_FORMAT_YUY2
  • DXGI_FORMAT_P208
  • DXGI_FORMAT_V208
  • DXGI_FORMAT_V408
Wenn Die Surface-Anzahl 2 ist:
  • {DXGI_FORMAT_R8_UNORM, DXGI_FORMAT_R8G8_UNORM}
Wenn Die Surface-Anzahl 3 ist:
  • {DXGI_FORMAT_R8_UNORM, DXGI_FORMAT_R8_UNORM, DXGI_FORMAT_R8_UNORM}
DXGI_COLOR_SPACE_YCBCR_STUDIO_G22_LEFT_P601 DXGI_COLOR_SPACE_YCBCR_FULL_G22_LEFT_P601

DXGI_COLOR_SPACE_YCBCR_STUDIO_G22_LEFT_P709

DXGI_COLOR_SPACE_YCBCR_FULL_G22_LEFT_P709

DXGI_COLOR_SPACE_YCBCR_STUDIO_G22_LEFT_P2020

DXGI_COLOR_SPACE_YCBCR_FULL_G22_LEFT_P2020

1,2,3 Wenn die Surface-Anzahl 1 ist:
  • DXGI_FORMAT_NV12
  • DXGI_FORMAT_YUY2
  • DXGI_FORMAT_P208
  • DXGI_FORMAT_V208
Wenn Die Surface-Anzahl 2 ist:
  • {DXGI_FORMAT_R8_UNORM, DXGI_FORMAT_R8G8_UNORM}
Wenn Die Surface-Anzahl 3 ist:
  • {DXGI_FORMAT_R8_UNORM, DXGI_FORMAT_R8_UNORM, DXGI_FORMAT_R8_UNORM}
 

Die GPU muss auch über ausreichende Unterstützung verfügen, damit ein Pixelformat von D2D unterstützt wird. Um festzustellen, ob D2D ein Format unterstützt, rufen Sie IsDxgiFormatSupported auf.

Diese API konvertiert YCbCr-Formate mithilfe des bereitgestellten Farbraumtyps und der optionen in sRGB. Es wird davon ausgegangen, dass sich RGBA-Daten im gewünschten Bereich befinden, und D2D wendet keine Konvertierung an.

Wenn mehrere Oberflächen bereitgestellt werden, leitet diese Methode ab, ob Chromaebenen aus den relativen Größen jedes entsprechenden Quellrechtecks unterstempelt werden (oder ob der Quellrechteckparameter NULL ist, die Begrenzungen jeder Oberfläche). Das zweite und das dritte Rechteck müssen jeweils gleich dem ersten Rechteck oder dem ersten Rechteck mit einer oder beiden Dimensionen sein, die um 0,5 skaliert sind (während sie aufgerundet werden).

Falls angegeben, müssen sich die Quellrechtecke innerhalb der Grenzen der entsprechenden Oberfläche befinden. Die Quellrechtecke können unterschiedliche Ursprünge haben. In diesem Fall verschiebt diese Methode die Daten von jeder Ebene, um sie aneinander auszurichten.

Anforderungen

Anforderung Wert
Unterstützte Mindestversion (Client) Windows 10 [Desktop-Apps | UWP-Apps]
Unterstützte Mindestversion (Server) Windows Server 2016 [Desktop-Apps | UWP-Apps]
Zielplattform Windows
Kopfzeile d2d1_3.h
DLL D2d1.dll

Weitere Informationen

ID2D1DeviceContext2