Compartilhar via


Método IDCompositionDevice2::CreateSurface (dcomp.h)

Cria um objeto de superfície atualizável que pode ser associado a um ou mais visuais para composição.

Sintaxe

HRESULT CreateSurface(
  [in]  UINT                 width,
  [in]  UINT                 height,
  [in]  DXGI_FORMAT          pixelFormat,
  [in]  DXGI_ALPHA_MODE      alphaMode,
  [out] IDCompositionSurface **surface
);

Parâmetros

[in] width

Tipo: UINT

A largura da superfície, em pixels. Restrito pelo nível de recurso do dispositivo de renderização que foi passado no momento em que o dispositivo DirectComposition foi criado.

[in] height

Tipo: UINT

A altura da superfície, em pixels. Restrito pelo nível de recurso do dispositivo de renderização que foi passado no momento em que o dispositivo DirectComposition foi criado.

[in] pixelFormat

Tipo: DXGI_FORMAT

O formato de pixel da superfície.

[in] alphaMode

Tipo: DXGI_ALPHA_MODE

O formato do canal alfa, se um canal alfa estiver incluído no formato de pixel. Pode ser um dos seguintes valores:

Valor Significado
DXGI_ALPHA_MODE_UNSPECIFIED
O canal alfa não é especificado. Esse valor tem o mesmo efeito que DXGI_ALPHA_MODE_IGNORE.
DXGI_ALPHA_MODE_PREMULTIPLIED
Os canais de cores contêm valores pré-multiplicados pelo canal alfa.
DXGI_ALPHA_MODE_IGNORE
O canal alfa deve ser ignorado e o bitmap deve ser renderizado opacamente.

[out] surface

Tipo: IDCompositionSurface**

O objeto surface recém-criado. Esse parâmetro não deve ser NULL.

Retornar valor

Tipo: HRESULT

Se a função for bem-sucedida, ela retornará S_OK. Caso contrário, ele retornará um código de erro HRESULT. Consulte Códigos de Erro do DirectComposition para obter uma lista de códigos de erro.

Comentários

Uma superfície do Microsoft DirectComposition é uma matriz retangular de pixels que pode ser associada a um visual para composição.

Um objeto surface recém-criado está em um estado não inicializado. Embora não seja inicializada, a superfície não tem efeito na composição da árvore visual. Ele se comporta exatamente como uma superfície que tem pixels 100% transparentes.

Para inicializar a superfície com dados de pixel, use os métodos IDCompositionSurface::BeginDraw e IDCompositionSurface::EndDraw . A primeira chamada a esse método deve abranger toda a área da superfície para fornecer um valor inicial para cada pixel. Chamadas subsequentes podem especificar sub-retângulos menores da superfície a serem atualizados.

As superfícies DirectComposition dão suporte aos seguintes formatos de pixel:

  • DXGI_FORMAT_B8G8R8A8_UNORM
  • DXGI_FORMAT_R8G8B8A8_UNORM
  • DXGI_FORMAT_R16G16B16A16_FLOAT

Requisitos

Requisito Valor
Cliente mínimo com suporte Windows 8.1 [somente aplicativos da área de trabalho]
Servidor mínimo com suporte Windows Server 2012 R2 [somente aplicativos da área de trabalho]
Plataforma de Destino Windows
Cabeçalho dcomp.h
Biblioteca Dcomp.lib
DLL Dcomp.dll

Confira também

IDCompositionDevice2

IDCompositionDevice2::CreateVirtualSurface