1

使用ISampleGrabberCB界面如何将SampleCBIMediaSample 用于位图?

例如:

int ISampleGrabberCB.SampleCB( double SampleTime, IMediaSample pSample )
    {
        Bitmap frameBitmap = new Bitmap(pSample);
        return 0;
    }
4

1 回答 1

2

没有将媒体样本直接转换为位图。媒体样本是通过流媒体管道传来的一段数据,可以是视频帧、未压缩和压缩、音频包、文件字节块等。显然,非视频媒体样本没有有意义的转换。

如果您的 Sample Grabber 设置为接受 RGB 数据(或者巧合的是 RGB),如果您提供正确的步幅(间距)和像素格式,您可能Bitmap可以在此数据之上创建一个对象。否则,您将不得不执行额外的格式转换。

于 2013-11-19T19:37:58.863 回答