我在Windows 7上使用DirectShow中的SampleGrabber,我注意到Microsoft和许多其他提供商提供的代码不起作用,因为Bitmap数据头报告位图数据被压缩,但是新的Bitmap(宽度,高度,步幅, pixelformat,scanlines)没有任何参数来指定缓冲区有压缩图像。当然Bitmap不会识别它。
SampleGrabber的媒体类型提供了Bitmap Info Header,其压缩等于某事物,接收的数据少于位图信息标题指示的字节。
创建位图只会创建各种垃圾。
看来我有位图信息标题和扫描线,但是无法从WPF中的(压缩格式)位图信息标题和扫描线创建位图。
我尝试使用CreateDIBSection等,但是GDI +在WPF中无法正常工作,一切都返回零,我也尝试初始化GDI等但不知道现在要做什么。
答案 0 :(得分:0)
将样本采集器的媒体类型(sampleGrabber.SetMediaType
)配置为其子类型设置为RGB24的媒体类型。
然后,数据将作为BufferCB回调中的未压缩位图数据。