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

注解

xydxdy 参数标识接收解压缩图像的 lpbilpBits 指定的位图部分。

对于用 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

另请参阅

自定义文件和流处理程序接口

自定义文件和流处理程序