使用ISampleGrabberCB
界面如何将SampleCB
IMediaSample用于位图?
例如:
int ISampleGrabberCB.SampleCB( double SampleTime, IMediaSample pSample )
{
Bitmap frameBitmap = new Bitmap(pSample);
return 0;
}
答案 0 :(得分:2)
没有媒体样本直接转换为位图。媒体样本是通过流管道传输的一段数据,可以是视频帧,未压缩和压缩,音频数据包,文件字节块等。显然,非视频媒体样本没有有意义的转换。
如果您的Sample Grabber设置为接受RGB数据(或巧合RGB),那么可能可以在此数据的基础上创建Bitmap
对象,如果您提供的是正确的步幅(音高)和像素格式。否则,您将不得不执行其他格式转换。