IMixerPinConfig::SetColorKey 方法 (mpconfig.h)

[与此页面关联的功能 DirectShow 是旧版功能。 它已被 MediaPlayerIMFMediaEngineMedia Foundation 中的音频/视频捕获所取代。 这些功能已针对Windows 10和Windows 11进行了优化。 Microsoft 强烈建议新代码尽可能在 Media Foundation 中使用 MediaPlayerIMFMediaEngine音频/视频捕获 ,而不是 DirectShow。 如果可能,Microsoft 建议重写使用旧 API 的现有代码以使用新 API。]

方法 SetColorKey 设置视频流使用的颜色键。

语法

HRESULT SetColorKey(
  [in] COLORKEY *pColorKey
);

参数

[in] pColorKey

指向 COLORKEY 结构的指针。

返回值

返回一个 HRESULT 值。

注解

术语 颜色键 具有不同的含义,具体取决于它所引用的流。 主要流的颜色键是指覆盖图面使用的目标颜色键。 辅助流的颜色键是指从屏幕外图面到主图面时使用的源颜色键。

应用程序应将主引脚的颜色键设置为不起眼的颜色 (某些颜色,这在桌面) 上完全不存在。 覆盖混合器筛选器将尝试选取一种模糊的颜色,但如果应用程序知道指定的颜色是某些其他内容的一部分,则应用程序应对其进行更改。

在辅助流上设置颜色键可用于使流透明并启用非矩形图像。 例如,如果辅助流是隐藏字幕文本,则隐藏式字幕文本解码器应在背景中绘制纯色,然后将相应图钉上的颜色键设置为该颜色。 这可确保传输除颜色键指定的像素之外的所有像素。 如果可能,应用程序应将辅助流的颜色键设置为与主流的颜色键相同,以提供轻微的性能优势。

在主流上设置此值将设置覆盖图面使用的目标颜色键。 默认情况下,目标颜色键用作所有透明 (辅助) 流的颜色键。

pColorKey 参数的有效参数包括视频显示模式设置为 256 色时CK_INDEX,以及视频显示模式设置为更高颜色深度(如高彩色、24 位或 32 位)时CK_RGB。 CK_RGB标志必须与CK_INDEX一起指定。 如果设置了CK_INDEX标志,则索引将用作 256 颜色模式下的调色板索引。 但必须提供 COLORREF 的有效真色,以便在显示模式动态更改时,DirectShow 可以切换到使用指定的真色。 这是因为许多真实颜色可以映射到单个调色板索引,但从调色板索引到另一个方向不是一对一的。

注意 目前,此方法仅针对主输入引脚实现。
 

要求

要求
最低受支持的客户端 Windows 2000 Professional [仅限桌面应用]
最低受支持的服务器 Windows 2000 Server [仅限桌面应用]
目标平台 Windows
标头 mpconfig.h
Library Strmiids.lib

另请参阅

错误和成功代码

IMixerPinConfig 接口

IMixerPinConfig::GetColorKey