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
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_COLOR_SPACE_YCBCR_FULL_G22_NONE_P709_X601 | 1, 2, 3 | Wenn die Surface-Anzahl 1 ist:
|
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:
|
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 |