Поделиться через


Метод IDCompositionDevice::CreateSurface (dcomp.h)

Создает обновляемый объект surface, который может быть связан с одним или несколькими визуальными элементами для композиции.

Синтаксис

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

Параметры

[in] width

Тип: UINT

Ширина поверхности в пикселях.

[in] height

Тип: UINT

Высота поверхности в пикселях.

[in] pixelFormat

Тип: DXGI_FORMAT

Формат пикселей поверхности.

[in] alphaMode

Тип: DXGI_ALPHA_MODE

Формат альфа-канала, если альфа-канал включен в формат пикселей. Может иметь одно из следующих значений.

Значение Значение
DXGI_ALPHA_MODE_UNSPECIFIED Альфа-канал не указан. Это значение имеет тот же эффект, что и DXGI_ALPHA_MODE_IGNORE.
DXGI_ALPHA_MODE_PREMULTIPLIED Цветовые каналы содержат значения, которые предварительно связаны с альфа-каналом.
DXGI_ALPHA_MODE_IGNORE Альфа-канал следует игнорировать, а точечный рисунок должен отображаться непрозрачно.

[out] surface

Тип: IDCompositionSurface**

Вновь созданный объект surface. Этот параметр не должен иметь значение NULL.

Возвращаемое значение

Тип: HRESULT

Если функция завершается успешно, она возвращает S_OK. В противном случае возвращается код ошибки HRESULT . Список кодов ошибок см. в разделе Коды ошибок DirectComposition .

Комментарии

Поверхность Microsoft DirectComposition — это прямоугольный массив пикселей, который можно связать с визуальным элементом для композиции.

Созданный объект surface находится в неинициализированном состоянии. Пока она не инициализирована, поверхность не влияет на состав визуального дерева. Он ведет себя точно так же, как поверхность с 100 % прозрачными пикселями.

Чтобы инициализировать поверхность пиксельными данными, используйте метод IDCompositionSurface::BeginDraw . Первый вызов этого метода должен охватывать всю поверхность, чтобы предоставить начальное значение для каждого пикселя. Последующие вызовы могут указывать небольшие под прямоугольники поверхности для обновления.

Поверхности DirectComposition поддерживают следующие форматы пикселей:

  • DXGI_FORMAT_B8G8R8A8_UNORM
  • DXGI_FORMAT_R8G8B8A8_UNORM
  • DXGI_FORMAT_R16G16B16A16_FLOAT

Требования

   
Минимальная версия клиента Windows 8 [только классические приложения]
Минимальная версия сервера Windows Server 2012 [только классические приложения]
Целевая платформа Windows
Header dcomp.h
Библиотека Dcomp.lib
DLL Dcomp.dll

См. также раздел

IDCompositionDevice

IDCompositionDevice::CreateVirtualSurface