Note
Access to this page requires authorization. You can try signing in or .
Access to this page requires authorization. You can try .
VMR9AlphaBitmap structure (vmr9.h)
[The feature associated with this page, DirectShow, is a legacy feature. It has been superseded by MediaPlayer, IMFMediaEngine, and Audio/Video Capture in Media Foundation. Those features have been optimized for Windows 10 and Windows 11. Microsoft strongly recommends that new code use MediaPlayer, IMFMediaEngine and Audio/Video Capture in Media Foundation instead of DirectShow, when possible. Microsoft suggests that existing code that uses the legacy APIs be rewritten to use the new APIs if possible.]
The VMR9AlphaBitmap structure is used with the IVMRMixerBitmap9 interface when an application provides a static bitmap for alpha blending with the video frame.
Syntax
typedef struct _VMR9AlphaBitmap {
DWORD dwFlags;
HDC hdc;
IDirect3DSurface9 *pDDS;
RECT rSrc;
VMR9NormalizedRect rDest;
FLOAT fAlpha;
COLORREF clrSrcKey;
DWORD dwFilterMode;
} VMR9AlphaBitmap;
Members
dwFlags
Bitwise OR of flags from the VMR9AlphaBitmapFlags enumeration type.
hdc
Handle to the GDI device context (HDC) for the bitmap. If this member contains a non-NULL value, set pDDS to NULL and set the VMR9AlphaBitmap_hDC flag in the dwFlags member. The device context is not compatible with GDI+.
pDDS
Pointer to the IDirect3DSurface9 interface of a Direct3D surface that contains the bitmap. If this member contains a valid pointer, set the hdc member to NULL. The surface format must be D3DFMT_X8R8G8B8 (32-bit RGB) or D3DFMT_A8R8G8B8 (32-bit RGB with per-pixel alpha). The surface must be allocated from the D3DPOOL_SYSTEMMEM pool.
rSrc
Specifies the rectangle to copy from the source image. This rectangle is specified relative to the GDI device context or the DirectDraw surface.
When calling IVMRMixerBitmap9::SetAlphaBitmap, the source rectangle must be valid if a GDI bitmap is specified in the hdc member. On the other hand, if a Direct3D surface is specified in the pDDS member, then you can either set rSrc to a valid rectangle, or use the entire surface by setting the VMR9AlphaBitmap_EntireDDS flag in dwFlags.
When calling IVMRMixerBitmap9::UpdateAlphaBitmapParameters, rSrc is always optional, and is used if dwFlags contains the VMR9AlphaBitmap_SrcRect flag.
rDest
Specifies the destination rectangle in composition space.
fAlpha
Specifies the alpha blending value; must be a value from 0.0 to 1.0 (inclusive).
clrSrcKey
Specifies the source color key. This value is used if the dwFlags member contains the VMR9AlphaBitmap_SrcColorKey. A color key cannot be used with a Direct3D surface that contains per-pixel alpha.
dwFilterMode
One of the following flags from the VMR9MixerPrefs enumeration, or zero to specify no filtering.
| Value | Meaning |
|---|---|
|
Bilinear interpolation filtering. |
|
Point filtering. |
|
Anisotropic filtering. |
|
Four-sample tent filtering. |
|
Four-sample Gaussian filtering. |
This structure member is used only if the dwFlags member contains the VMR9AlphaBitmap_FilterMode flag.
Point filtering is particularly useful for images that contain text and do not need to be stretched prior to mixing.
Remarks
To get the HDC for a GDI bitmap, do the following:
- Call GetDC to get the device context for the application's video window.
- Call CreateCompatibleDC to create a compatible device context.
- Call SelectObject to select the bitmap into the device context obtained in the previous step.
Requirements
| Requirement | Value |
|---|---|
| Header | vmr9.h |
