Metodo ID2D1DeviceContext2::CreateImageSourceFromDxgi (d2d1_3.h)
Crea un'origine immagine da un set di superfici DXGI. Le superfici YCbCr vengono convertite automaticamente in RGBA durante il disegno successivo.
Sintassi
HRESULT CreateImageSourceFromDxgi(
IDXGISurface **surfaces,
UINT32 surfaceCount,
DXGI_COLOR_SPACE_TYPE colorSpace,
D2D1_IMAGE_SOURCE_FROM_DXGI_OPTIONS options,
ID2D1ImageSource **imageSource
);
Parametri
surfaces
Tipo: [in] IDXGISurface**
Le superfici DXGI da cui creare l'origine dell'immagine.
surfaceCount
Tipo: UINT32
Numero di superfici fornite; deve essere compreso tra uno e tre.
colorSpace
Tipo: DXGI_COLOR_SPACE_TYPE
Spazio colori dell'input.
options
Tipo: D2D1_IMAGE_SOURCE_FROM_DXGI_OPTIONS
Opzioni che controllano le conversioni dello spazio dei colori.
imageSource
Tipo: [out] ID2D1ImageSource**
Riceve la nuova istanza di origine dell'immagine.
Valore restituito
Tipo: HRESULT
S_OK in caso di esito positivo; in caso contrario, HRESULT non riuscito.
Commenti
Questo metodo crea un'origine immagine, che può essere usata per disegnare l'immagine.
Questo metodo supporta superfici che usano un set limitato di formati DXGI e tipi di spazio colori DXGI. Sono supportati solo il set seguente di combinazioni di tipi di spazio colore, formati di superficie e conteggi di superficie:
Tipo di spazio colore | Surface Count(s) | Formati surface |
---|---|---|
DXGI_COLOR_SPACE_RGB_FULL_G22_NONE_P709 | 1 | Formati pixel supportati da D2D Standard:
|
DXGI_COLOR_SPACE_YCBCR_FULL_G22_NONE_P709_X601 | 1, 2, 3 | Quando surface count è 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 |
Quando surface count è 1:
|
La GPU deve avere anche un supporto sufficiente per un formato pixel da supportare da D2D. Per determinare se D2D supporta un formato, chiamare IsDxgiFormatSupported.
Questa API converte i formati YCbCr in sRGB usando il tipo di spazio colore e le opzioni forniti. Si presuppone che i dati RGBA si trovano nello spazio desiderato e D2D non applica alcuna conversione.
Se vengono fornite più superfici, questo metodo deduce se i piani cromatici sono sottocampionati (di 2x) dalle dimensioni relative di ogni rettangolo di origine corrispondente (o se il parametro dei rettangoli di origine è NULL, i limiti di ogni superficie). Il secondo e il terzo rettangolo devono essere uguali alla dimensione del primo rettangolo o al primo rettangolo con una o entrambe le dimensioni ridimensionate di 0,5 (durante l'arrotondamento).
Se specificato, i rettangoli di origine devono trovarsi all'interno dei limiti della superficie corrispondente. I rettangoli di origine possono avere origini diverse. In questo caso, questo metodo sposta i dati da ogni piano per allinearsi tra loro.
Requisiti
Requisito | Valore |
---|---|
Client minimo supportato | Windows 10 [app desktop | App UWP] |
Server minimo supportato | Windows Server 2016 [app desktop | App UWP] |
Piattaforma di destinazione | Windows |
Intestazione | d2d1_3.h |
DLL | D2d1.dll |