ID2D1DeviceContext2 ::CreateImageSourceFromDxgi, méthode (d2d1_3.h)
Crée une source d’image à partir d’un ensemble de surfaces DXGI. Les surfaces YCbCr sont converties automatiquement en RVBA lors du dessin suivant.
Syntaxe
HRESULT CreateImageSourceFromDxgi(
IDXGISurface **surfaces,
UINT32 surfaceCount,
DXGI_COLOR_SPACE_TYPE colorSpace,
D2D1_IMAGE_SOURCE_FROM_DXGI_OPTIONS options,
ID2D1ImageSource **imageSource
);
Paramètres
surfaces
Type : [in] IDXGISurface**
La surface DXGI à partir de laquelle créer la source d’image.
surfaceCount
Type : UINT32
Nombre de surfaces fournies ; doit être compris entre un et trois.
colorSpace
Type : DXGI_COLOR_SPACE_TYPE
Espace de couleur de l’entrée.
options
Type : D2D1_IMAGE_SOURCE_FROM_DXGI_OPTIONS
Options de contrôle des conversions d’espace de couleur.
imageSource
Type : [out] ID2D1ImageSource**
Reçoit la nouvelle source d’image instance.
Valeur retournée
Type : HRESULT
S_OK en cas de réussite, sinon un échec HRESULT.
Remarques
Cette méthode crée une source d’image, qui peut être utilisée pour dessiner l’image.
Cette méthode prend en charge les surfaces qui utilisent un ensemble limité de formats DXGI et de types d’espaces de couleurs DXGI. Seul l’ensemble de combinaisons ci-dessous de types d’espaces de couleurs, de formats de surface et de nombre de surfaces est pris en charge :
Type d’espace de couleur | Nombre(s) surface(s) | Surface Format(s) |
---|---|---|
DXGI_COLOR_SPACE_RGB_FULL_G22_NONE_P709 | 1 | Formats de pixels standard pris en charge par D2D :
|
DXGI_COLOR_SPACE_YCBCR_FULL_G22_NONE_P709_X601 | 1, 2, 3 | Lorsque le nombre de surfaces est 1 :
|
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 |
Lorsque le nombre de surfaces est 1 :
|
Le GPU doit également disposer d’une prise en charge suffisante pour qu’un format de pixel soit pris en charge par D2D. Pour déterminer si D2D prend en charge un format, appelez IsDxgiFormatSupported.
Cette API convertit les formats YCbCr en sRGB à l’aide du type d’espace de couleurs et des options fournis. Les données RVBA sont supposées se trouver dans l’espace souhaité, et D2D n’applique aucune conversion.
Si plusieurs surfaces sont fournies, cette méthode déduit si les plans de chroma sont sous-échantillonné (de 2x) à partir des tailles relatives de chaque rectangle source correspondant (ou si le paramètre rectangles source est NULL, limites de chaque surface). Les deuxième et troisième rectangles doivent avoir chacun une taille égale au premier rectangle ou au premier rectangle avec une ou les deux dimensions mises à l’échelle de 0,5 (lors de l’arrondi).
S’ils sont fournis, les rectangles sources doivent se trouver dans les limites de la surface correspondante. Les rectangles sources peuvent avoir des origines différentes. Dans ce cas, cette méthode déplace les données de chaque plan pour qu’elles s’alignent les unes sur les autres.
Configuration requise
Condition requise | Valeur |
---|---|
Client minimal pris en charge | Windows 10 [applications de bureau | Applications UWP] |
Serveur minimal pris en charge | Windows Server 2016 [applications de bureau | Applications UWP] |
Plateforme cible | Windows |
En-tête | d2d1_3.h |
DLL | D2d1.dll |