Método ID2D1DeviceContext2::CreateImageSourceFromDxgi (d2d1_3.h)
Cria uma fonte de imagem de um conjunto de superfícies DXGI. As superfícies YCbCr são convertidas em RGBA automaticamente durante o desenho subsequente.
Sintaxe
HRESULT CreateImageSourceFromDxgi(
IDXGISurface **surfaces,
UINT32 surfaceCount,
DXGI_COLOR_SPACE_TYPE colorSpace,
D2D1_IMAGE_SOURCE_FROM_DXGI_OPTIONS options,
ID2D1ImageSource **imageSource
);
Parâmetros
surfaces
Tipo: [in] IDXGISurface**
O DXGI é exibido para criar a origem da imagem.
surfaceCount
Tipo: UINT32
O número de superfícies fornecidas; deve estar entre um e três.
colorSpace
Tipo: DXGI_COLOR_SPACE_TYPE
O espaço de cor da entrada.
options
Tipo: D2D1_IMAGE_SOURCE_FROM_DXGI_OPTIONS
Opções que controlam conversões de espaço em cores.
imageSource
Tipo: [out] ID2D1ImageSource**
Recebe a nova instância de origem da imagem.
Retornar valor
Tipo: HRESULT
S_OK se tiver êxito, caso contrário, um HRESULT de falha.
Comentários
Esse método cria uma fonte de imagem, que pode ser usada para desenhar a imagem.
Esse método dá suporte a superfícies que usam um conjunto limitado de formatos DXGI e tipos de espaço de cor DXGI. Há suporte apenas para o conjunto abaixo de combinações de tipos de espaço de cores, formatos de superfície e contagens de superfície:
Tipo de espaço de cor | Contagens de Superfícies | Formato(s) do Surface |
---|---|---|
DXGI_COLOR_SPACE_RGB_FULL_G22_NONE_P709 | 1 | Formatos de pixel com suporte para D2D Padrão:
|
DXGI_COLOR_SPACE_YCBCR_FULL_G22_NONE_P709_X601 | 1, 2, 3 | Quando a contagem do Surface for 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 a contagem do Surface for 1:
|
A GPU também deve ter suporte suficiente para que um formato de pixel tenha suporte do D2D. Para determinar se d2D dá suporte a um formato, chame IsDxgiFormatSupported.
Essa API converte formatos YCbCr em sRGB usando o tipo de espaço de cor e as opções fornecidos. Supõe-se que os dados RGBA estejam no espaço desejado e d2D não aplica nenhuma conversão.
Se várias superfícies forem fornecidas, esse método inferirá se os planos de croma são subamostrados (por 2x) dos tamanhos relativos de cada retângulo de origem correspondente (ou se o parâmetro de retângulos de origem for NULL, os limites de cada superfície). O segundo e o terceiro retângulo devem ser iguais em tamanho ao primeiro retângulo ou ao primeiro retângulo com uma ou ambas as dimensões dimensionadas em 0,5 (durante o arredondamento para cima).
Se fornecido, os retângulos de origem devem estar dentro dos limites da superfície correspondente. Os retângulos de origem podem ter origens diferentes. Nesse caso, esse método desloca os dados de cada plano para se alinharem entre si.
Requisitos
Requisito | Valor |
---|---|
Cliente mínimo com suporte | Windows 10 [aplicativos da área de trabalho | Aplicativos UWP] |
Servidor mínimo com suporte | Windows Server 2016 [aplicativos da área de trabalho | Aplicativos UWP] |
Plataforma de Destino | Windows |
Cabeçalho | d2d1_3.h |
DLL | D2d1.dll |