我是初学者 directshow 程序员我正在尝试制作包含来自某些网络摄像头(实时提要)的 WPF 应用程序
然后我可以从这个“实时提要”中拍一张照片
我定义了一个 GraphBuilder,我做了如下:
static void BuildGraph(IGraphBuilder pGraph)
{
//graph builder
int hr = 0;
ICaptureGraphBuilder2 pBuilder = (ICaptureGraphBuilder2)new CaptureGraphBuilder2();
hr = pBuilder.SetFiltergraph(pGraph);
Guid clsid_VidCapSource = new Guid("{860BB310-5D01-11D0-BD3B-00A0C911CE86}");
//add myCam
IBaseFilter mycam = CreateFillterByName("QuickCam Communicate Deluxe", clsid_VidCapSource);
hr = pGraph.AddFilter(mycam, "QuickCam Communicate Deluxe");
//add color space converter
IBaseFilter pColorSpaceConverter3 = (IBaseFilter)new Colour();
hr = pGraph.AddFilter(pColorSpaceConverter3, "Color Space Converter");
//connect myCam, pColorSpaceConverter
hr = pGraph.ConnectDirect(GetPin(mycam, "Capture"), GetPin(pColorSpaceConverter3, "Input"), null);
}
之后我建立了一个图表:
private void Button_Click(object sender, RoutedEventArgs e)
{
IGraphBuilder graph = (IGraphBuilder)new FilterGraph();
BuildGraph(graph);
IMediaControl mediaControl = (IMediaControl)graph;
mediaControl.Run();
}
如何将此图的输出呈现到我的 WPF 窗口中
注意:建立图表后,摄像头 LED 指示摄像头正在捕捉。
提前致谢