vmRALPHABITMAP 结构 (strmif.h)

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

当应用程序提供要显示在复合视频帧上的静态 alpha 混合位图时, VMRALPHABITMAP 结构用于 VMR-7 筛选器的 IVMRMixerBitmap 方法中。

语法

typedef struct _VMRALPHABITMAP {
  DWORD                dwFlags;
  HDC                  hdc;
  LPDIRECTDRAWSURFACE7 pDDS;
  RECT                 rSrc;
  NORMALIZEDRECT       rDest;
  FLOAT                fAlpha;
  COLORREF             clrSrcKey;
} VMRALPHABITMAP, *PVMRALPHABITMAP;

成员

dwFlags

指示混音器在何处查找位图的标志。 定义了以下值。

含义
VMRBITMAP_DISABLE
0x00000001
禁用位图。 此标志不能与其他标志组合使用。
VMRBITMAP_HDC
0x00000002
从 HDC 获取位图。 如果设置了此标志, 则 hdc 成员必须指定设备上下文的有效句柄,并且 pDDS 成员必须为 NULL

如果此标志不存在, 则 pDDS 成员必须指向有效的 DirectDraw 图面,并且 hdc 成员必须为 NULL

VMRBITMAP_ENTIREDDS
0x00000004
获取整个 DirectDraw 图面。 指定此标志时, 将忽略 rSrc 。 此标志不能与 VMRBITMAP_HDC 标志组合使用。
VMRBITMAP_SRCCOLORKEY
0x00000008
clrSrcKey 值有效,应在混合时使用。
VMRBITMAP_SRCRECT
0x00000010
指示 rSrc 矩形有效,并指定要混合的原始应用图像的子矩形。

此标志仅对 IVMRMixerBitmap::UpdateAlphaBitmapParameters 方法有效。 对于 IVMRMixerBitmap::SetAlphaBitmap 方法, rSrc 成员必须引用整个位图。

hdc

位图的设备上下文的句柄。 如果位图位于 DirectDraw 图面中,则指定 NULL

pDDS

指向包含位图的 DirectDraw 图面的指针。 如果要从 GDI 设备上下文获取位图,请指定 NULL 。 如果指定了 DirectDraw 图面,则像素格式必须为 ARGB-32 或 RGB-32。 如果图面包含每像素 alpha,请不要在 dwFlags 中设置VMRBITMAP_SRCCOLORKEY标志。

rSrc

指定 GDI 设备上下文或 DirectDraw 图面中的源矩形。

rDest

指定组合空间中的目标矩形。

fAlpha

指定 alpha 混合值;必须是 0.0 到 1.0 (非独占) 的值。

clrSrcKey

指定源颜色键。

要求

要求
最低受支持的客户端 Windows XP [仅限桌面应用]
最低受支持的服务器 Windows Server 2003 [仅限桌面应用]
标头 strmif.h (包括 Dshow.h)

另请参阅

DirectShow 结构