ID3D11VideoContext::VideoProcessorSetStreamAlpha 方法 (d3d11.h)

设置视频处理器上输入流的平面 alpha。

语法

void VideoProcessorSetStreamAlpha(
  [in] ID3D11VideoProcessor *pVideoProcessor,
  [in] UINT                 StreamIndex,
  [in] BOOL                 Enable,
  [in] FLOAT                Alpha
);

参数

[in] pVideoProcessor

指向 ID3D11VideoProcessor 接口的 指针。 若要获取此指针,请调用 ID3D11VideoDevice::CreateVideoProcessor

[in] StreamIndex

输入流的从零开始的索引。 若要获取最大流数,请调用 ID3D11VideoProcessorEnumerator::GetVideoProcessorCaps 并检查 MaxStreamStates 结构成员。

[in] Enable

指定是否启用 alpha 混合。

[in] Alpha

平面 alpha 值。 该值的范围可以是透明) 0.0 (到 1.0 (不透明) 。 如果 EnableFALSE,则忽略此参数。

返回值

备注

若要使用此功能,驱动程序必须支持立体声视频,由 D3D11_VIDEO_PROCESSOR_FEATURE_CAPS_ALHPA_STREAM 功能标志指示。 若要查询此功能,请调用 ID3D11VideoProcessorEnumerator::GetVideoProcessorCaps

Alpha 混合默认处于禁用状态。

对于每个像素,目标颜色值的计算方式如下:

Cd = Cs * (As * Ap * Ae) + Cd * (1.0 - As * Ap * Ae)

其中:

  • Cd = 目标像素的颜色值
  • Cs = 源像素的颜色值
  • As = 每像素源 alpha
  • Ap = 平面 alpha 值
  • Ae = 调色板输入 alpha 值,或 1.0 (请参阅注释)
注意 调色板输入 alpha 值仅适用于淡化的颜色格式,并且仅适用于设备支持 D3D11_VIDEO_PROCESSOR_FEATURE_CAPS_ALPHA_PALETTE 功能时。 否则,此因子等于 1.0。
 
目标 alpha 值是根据 alpha 填充模式计算的。 有关详细信息,请参阅 ID3D11VideoContext::VideoProcessorSetOutputAlphaFillMode

要求

要求
最低受支持的客户端 Windows 8 [桌面应用 |UWP 应用]
最低受支持的服务器 Windows Server 2012 [桌面应用 |UWP 应用]
目标平台 Windows
标头 d3d11.h

另请参阅

ID3D11VideoContext