共用方式為


IDCompositionDevice2::CreateSurface 方法 (dcomp.h)

建立可更新的介面物件,該物件可以與一或多個視覺效果建立關聯以進行組合。

語法

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

參數

[in] width

類型: UINT

表面的寬度,以像素為單位。 受限於建立 DirectComposition 裝置時傳入之轉譯裝置 的功能層級

[in] height

類型: UINT

表面的高度,以像素為單位。 受限於建立 DirectComposition 裝置時傳入之轉譯裝置 的功能層級

[in] pixelFormat

類型: DXGI_FORMAT

表面的像素格式。

[in] alphaMode

類型: DXGI_ALPHA_MODE

如果Alpha色板包含像素格式,則為Alpha色板的格式。 它可能是下列其中一個值:

意義
DXGI_ALPHA_MODE_UNSPECIFIED
未指定 Alpha 色板。 這個值的效果與 DXGI_ALPHA_MODE_IGNORE相同。
DXGI_ALPHA_MODE_PREMULTIPLIED
色彩色板包含預先乘以Alpha色板的值。
DXGI_ALPHA_MODE_IGNORE
應該忽略 Alpha 色板,而且應該不透明地轉譯位圖。

[out] surface

類型: IDCompositionSurface**

新建立的 Surface 物件。 此參數不得為 NULL。

傳回值

類型: HRESULT

如果函式成功,則會傳回S_OK。 否則,它會傳回 HRESULT 錯誤碼。 如需錯誤碼清單,請參閱 DirectComposition 錯誤碼

備註

Microsoft DirectComposition 表面是一個矩形的像素陣列,可以與視覺效果產生關聯以進行組合。

新建立的 Surface 對象處於未初始化的狀態。 雖然未初始化,但介面對可視化樹狀結構的組合沒有任何作用。 其行為與具有 100% 透明圖元的表面完全相同。

若要使用像素數據初始化表面,請使用 IDCompositionSurface::BeginDrawIDCompositionSurface::EndDraw 方法。 第一次呼叫這個方法必須涵蓋整個介面區,以提供每個圖元的初始值。 後續呼叫可能會指定要更新之介面的較小子矩形。

DirectComposition 表面支持下列像素格式:

  • DXGI_FORMAT_B8G8R8A8_UNORM
  • DXGI_FORMAT_R8G8B8A8_UNORM
  • DXGI_FORMAT_R16G16B16A16_FLOAT

規格需求

需求
最低支援的用戶端 Windows 8.1 [僅限傳統型應用程式]
最低支援的伺服器 Windows Server 2012 R2 [僅限傳統型應用程式]
目標平台 Windows
標頭 dcomp.h
程式庫 Dcomp.lib
Dll Dcomp.dll

另請參閱

IDCompositionDevice2

IDCompositionDevice2::CreateVirtualSurface