driectdraw在播放视频时,我想把每帧图像保存成图片,也就是怎么把每帧surface中图像数据保存下来.

解决方案 »

  1.   

    在Graph里面加一个sample grabber filter。
      

  2.   

    http://www.geocities.com/foetsch/screenshot/screenshot.htm
      

  3.   

    我在ddsd结构的lpsurface找到了图片的BYTE指针,保存成BMP图片后发现,图片的大小是原始视频的分辨率,而不是我播放出来的分辨率.也即是说我的播放窗口是1024*768的,但是视频的原始大小是800*600的,那截到得图片虽然也是1024*768的,但是只有在800*600的区域有图像,其他区域是黑屏.对我后期的处理很麻烦.
    我在做一个类似非线编的程序,实现把几路视频的截取.因为以前没做过,不知道有什么思路,现在就是想把图像截下来,在穿成视频,有没有其他的思路?我现在已经实现了用driectdraw播放视频.并且可以再各路视频间切换,现在打算从lpsurface中截取图片,但是出现了上面的问题,如果这种思路行不通,还有没有其他方法实现,请教!