在WPF中使用ImageBox控件
程序员文章站
2022-06-07 13:10:56
...
文章参考于
https://www.cnblogs.com/iacocca/archive/2011/08/18/2144741.html
http://www.cnblogs.com/iacocca/archive/2011/08/18/2144640.html
还可参考
https://zhidao.baidu.com/question/1111047301937879259.html
首先是安装并配置emgucv。
由于ImageBox控件只支持WindowsForm不支持WPF。所以我们需要在WPF平台上加载Windows Form,然后再加载ImageBox的控件。
首先,需要向项目中的reference(引用)添加两个dll,一个是.NET库中的System.Windows.Forms,另外一个是WindowsFormsIntegration,它的位置一般是在C:\Windows\Microsoft.NET\Framework\v4.0.30319\WPF 里。
添加完两个dll以后,就可以在控件库中找到WindowsFormsHost这个控件了。这个控件是我们添加Windows Form控件的基础。跟别的其他的控件一样,它也是可控的,可以自定义它在窗口中的位置、控件大小颜色等属性。放置完以后在xmal代码中会自动生成相应代码:
<WindowsFormsHost Name="windowsFormsHost1">
</WindowsFormsHost>
然后,需要在xmal的开始处添加两行代码
xmlns:WinFormHost="clr-namespace:System.Windows.Forms.Integration;assembly=WindowsFormsIntegration"
xmlns:WinFormControls="clr-namespace:Emgu.CV.UI;assembly=Emgu.CV.UI"
这样就可以在WindowsFormsHost下放置需要的Windows Form控件了,比如ImageBox控件
<WindowsFormsHost Name="windowsFormsHost1">
<WinFormControls:ImageBox x:Name="ibox" />
</WindowsFormsHost>