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_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 Quando a contagem do Surface for 1:
  • DXGI_FORMAT_AYUV
  • DXGI_FORMAT_NV12
  • DXGI_FORMAT_YUY2
  • DXGI_FORMAT_P208
  • DXGI_FORMAT_V208
  • DXGI_FORMAT_V408
Quando a Contagem de Superfícies for 2:
  • {DXGI_FORMAT_R8_UNORM, DXGI_FORMAT_R8G8_UNORM}
Quando a Contagem de Superfícies for 3:
  • {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 Quando a contagem do Surface for 1:
  • DXGI_FORMAT_NV12
  • DXGI_FORMAT_YUY2
  • DXGI_FORMAT_P208
  • DXGI_FORMAT_V208
Quando a Contagem de Superfícies for 2:
  • {DXGI_FORMAT_R8_UNORM, DXGI_FORMAT_R8G8_UNORM}
Quando a Contagem de Superfícies for 3:
  • {DXGI_FORMAT_R8_UNORM, DXGI_FORMAT_R8_UNORM, DXGI_FORMAT_R8_UNORM}
 

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

Confira também

ID2D1DeviceContext2