IDXGISwapChain1::SetBackgroundColor 方法 (dxgi1_2.h)

更改交换链的背景色。

语法

HRESULT SetBackgroundColor(
  [in] const DXGI_RGBA *pColor
);

参数

[in] pColor

指向 DXGI_RGBA 结构的指针,该结构指定要设置的背景色。

返回值

SetBackgroundColor 返回:

  • S_OK是否成功设置背景色。
  • E_INVALIDARG如果 pColor 参数不正确,例如,pColor 为 NULL,或者 pColor 点超出 0.0 到 1.0 范围内的DXGI_RGBA成员的任何浮点值。
  • 可能是 DXGI_ERROR 主题中描述的其他错误代码。

适用于 Windows 7 的平台更新: 在安装了适用于 Windows 7 的平台更新的 Windows 7 或 Windows Server 2008 R2 上, SetBackgroundColor 因E_NOTIMPL失败。 有关适用于 Windows 7 的平台更新的详细信息,请参阅 适用于 Windows 7 的平台更新

备注

背景色仅影响在窗口模式下使用 DXGI_SCALING_NONE 创建的交换链。 在调用 IDXGIFactory2::CreateSwapChainForHwndIDXGIFactory2::CreateSwapChainForCoreWindowIDXGIFactory2::CreateSwapChainForComposition 时传递此值。 通常,背景色不可见,除非交换链内容小于目标窗口。

设置背景色时,它不会立即实现。 它与下一次调用 IDXGISwapChain1::P resent1 方法一起生效。 传递给 IDXGISwapChain1::P resent1 的DXGI_PRESENT标志可帮助实现所需的效果。 例如,如果调用 SetBackgroundColor,然后在 Flags参数设置为 DXGI_PRESENT_DO_NOT_SEQUENCE 的情况下调用 IDXGISwapChain1::P resent1,则仅更改背景色而不更改交换链的显示内容。

调用 IDXGISwapChain1::P resent1 方法以显示交换链的内容时,IDXGISwapChain1::P resent1 使用 DXGI_SWAP_CHAIN_DESC1 结构的 AlphaMode 成员中指定的DXGI_ALPHA_MODE值来确定如何处理DXGI_RGBA结构的成员、背景色的 alpha 值, 实现窗口透明度的 。 例如,如果 AlphaMode为DXGI_ALPHA_MODE_IGNORE则 IDXGISwapChain1::P resent1 会忽略 DXGI_RGBA 的成员。

注意 与所有呈现数据一样,我们建议在线性颜色空间中执行浮点运算。 当桌面处于固定位颜色深度模式时,操作系统会将线性颜色数据转换为标准 RGB 数据, (sRGB、gamma 2.2 更正的空间) 组合到屏幕。 有关详细信息,请参阅 转换颜色空间的数据
 

要求

   
最低受支持的客户端 适用于 Windows 7 的 Windows 8 和平台更新 [桌面应用 |UWP 应用]
最低受支持的服务器 Windows Server 2012 和适用于 Windows Server 2008 R2 的平台更新 [桌面应用 |UWP 应用]
目标平台 Windows
标头 dxgi1_2.h
Library Dxgi.lib

请参阅

DXGI_SCALING

IDXGISwapChain1

IDXGISwapChain1::GetBackgroundColor