IGetFrame::SetFormat 方法 (vfw.h)
SetFormat 方法设置要提取的帧的解压缩图像格式,并选择性地为解压缩操作提供缓冲区。
语法
HRESULT SetFormat(
LPBITMAPINFOHEADER lpbi,
LPVOID lpBits,
int x,
int y,
int dx,
int dy
);
参数
lpbi
指向用于定义解压缩图像格式的 BITMAPINFOHEADER 结构的指针。 还可以为此参数指定 NULL 或值 ((LPBITMAPINFOHEADER) 1)
。 NULL 会导致解压缩程序选择适合编辑的格式, (通常为 24 位图像深度格式) 。 值 ((LPBITMAPINFOHEADER) 1)
导致解压缩程序选择适合当前显示模式的格式。
lpBits
指向包含解压缩图像数据的缓冲区的指针。 指定 NULL 以让此方法分配缓冲区。
x
lpbi 指定的 DIB 中目标矩形的 x 坐标。 当 lpBits 不为 NULL 时,将使用此参数。
y
lpbi 指定的 DIB 中目标矩形的 y 坐标。 当 lpBits 不为 NULL 时,将使用此参数。
dx
目标矩形的宽度。 当 lpBits 不为 NULL 时,将使用此参数。
dy
目标矩形的高度。 当 lpBits 不为 NULL 时,将使用此参数。
返回值
如果成功,则返回 NOERROR ;如果解压缩的图像大于缓冲区大小, 则返回 E_OUTOFMEMORY,否则 返回E_FAIL 。
注解
x、y、dx 和 dy 参数标识接收解压缩图像的 lpbi 和 lpBits 指定的位图部分。
对于用 C++ 编写的处理程序, SetFormat 具有以下语法:
HRESULT SetFormat(LPBITMAPINFOHEADER lpbi, LPVOID lpBits, int x,
int y, int dx, int dy);
要求
最低受支持的客户端 | Windows 2000 Professional [仅限桌面应用] |
最低受支持的服务器 | Windows 2000 Server [仅限桌面应用] |
目标平台 | Windows |
标头 | vfw.h |
Library | Vfw32.lib |