GetCurrentImage的MSND说明,暂记
2007-01-30 21:43
483 查看
IBasicVideo::GetCurrentImage Microsoft DirectShow 9.0 IBasicVideo::GetCurrentImage The GetCurrentImage method retrieves the current image waiting at the renderer. Syntax
Parameters
pBufferSize
[in, out] Pointer to a variable that contains the size of the buffer that the caller is passing in. If pDIBImage is NULL, this parameter receives the required buffer size.
pDIBImage
[out] Pointer to a buffer where the complete image will be stored in device-independent bitmap (DIB) format. Cast the pointer to a long pointer type.
Return Values
Returns an HRESULT value.
Remarks
The Video Renderer filter and the Video Mixing Renderer (VMR) implement this method differently.
Video Renderer only:
This method fails if the renderer is using DirectDraw acceleration. Unfortunately, this depends on the end-user's hardware configuration, so in practice this method is not reliable.
Pause the Video Renderer before calling this method. Otherwise, the method returns VFW_E_NOT_PAUSED. Make sure that the pause operation has completed by calling IMediaControl::GetState; if the pause operation has not completed, the GetCurrentImage method returns E_UNEXPECTED. Depending on what data the source filter has available, the video renderer is not guaranteed to service this request. If no image is available, it returns E_FAIL.
Video Mixing Renderer only:
This method is reliable regardless of whether the VMR is using DirectDraw acceleration and regardless of the current graph state (running, stopped, or paused).
Video Renderer and Video Mixing Renderer:
To obtain the required buffer size to hold the image, call this method with a NULL pointer in the pDIBImage parameter. The method returns the required buffer size in the pBufferSize parameter. Allocate a buffer of that size and call the method again, with pDIBImage pointing to the buffer. On the second call, use pBufferSize to specify the buffer size. If the buffer is too small to hold the complete image, the method returns E_OUTOFMEMORY.
If the method succeeds, the buffer is filled with the entire DIB image, including the BITMAPINFOHEADER structure, plus any palette entries and bit masks as defined in the Win32 BITMAPINFO structure. The format of the image depends on the type provided by the source filter, and cannot be specified in advance.
Requirements
Header: Dshow.h.
Library: Quartz.dll
HRESULT GetCurrentImage( long *pBufferSize, long *pDIBImage );
Parameters
pBufferSize
[in, out] Pointer to a variable that contains the size of the buffer that the caller is passing in. If pDIBImage is NULL, this parameter receives the required buffer size.
pDIBImage
[out] Pointer to a buffer where the complete image will be stored in device-independent bitmap (DIB) format. Cast the pointer to a long pointer type.
Return Values
Returns an HRESULT value.
Remarks
The Video Renderer filter and the Video Mixing Renderer (VMR) implement this method differently.
Video Renderer only:
This method fails if the renderer is using DirectDraw acceleration. Unfortunately, this depends on the end-user's hardware configuration, so in practice this method is not reliable.
Pause the Video Renderer before calling this method. Otherwise, the method returns VFW_E_NOT_PAUSED. Make sure that the pause operation has completed by calling IMediaControl::GetState; if the pause operation has not completed, the GetCurrentImage method returns E_UNEXPECTED. Depending on what data the source filter has available, the video renderer is not guaranteed to service this request. If no image is available, it returns E_FAIL.
Video Mixing Renderer only:
This method is reliable regardless of whether the VMR is using DirectDraw acceleration and regardless of the current graph state (running, stopped, or paused).
Video Renderer and Video Mixing Renderer:
To obtain the required buffer size to hold the image, call this method with a NULL pointer in the pDIBImage parameter. The method returns the required buffer size in the pBufferSize parameter. Allocate a buffer of that size and call the method again, with pDIBImage pointing to the buffer. On the second call, use pBufferSize to specify the buffer size. If the buffer is too small to hold the complete image, the method returns E_OUTOFMEMORY.
If the method succeeds, the buffer is filled with the entire DIB image, including the BITMAPINFOHEADER structure, plus any palette entries and bit masks as defined in the Win32 BITMAPINFO structure. The format of the image depends on the type provided by the source filter, and cannot be specified in advance.
Requirements
Header: Dshow.h.
Library: Quartz.dll
相关文章推荐
- 函数说明(GetCurrentDirectory ) 08.11.6
- js用obj.currentStyle和getComputedStyle获取非行间样式的说明
- sessionFactory.getCurrentSession()说明
- 图片缩放UIGraphicsGetImageFromCurrentImageContext不是线程安全的
- UIGraphicsGetImageFromCurrentImageContext
- 图片缩放UIGraphicsGetImageFromCurrentImageContext不是线程安全的
- 基于Drectshow的GetCurrentImage使用方法无法显示图片的解决方法(本文转载)
- 图片缩放UIGraphicsGetImageFromCurrentImageContext不是线程安全的
- 图片缩放UIGraphicsGetImageFromCurrentImageContext不是线程安全的
- sessionFactory.getCurrentSession()说明
- 整理了Ubuntu Linux操作系统下apt-get命令的详细说明
- getCurrentSession与openSession的区别
- 子类化GetOpenFileName/GetSaveFileName, 以及钩子函数OFNHookProc的使用的简要说明
- c#值get、 set用法(包含自动转换的说明)
- 关于开源框架GPUImage 的简单说明
- 调试函数耗时的利器CFAbsoluteTimeGetCurrent
- StartupPath与GetCurrentDirectory的区别
- Hibernate关于Session管理的openSession和getCurrentSession的理解
- Oracle RAC 全局等待事件 gc current block busy 和 gc cr multi block request 说明
- 【android学习】imageview通过getDrawingCache获取图像