WPF实现类似微信扫描二维码界面

weixin_40719393 2018-02-27 03:25:30
摄像头显示控件用的是AForge的VideoSourcePlayer,现在我想在摄像头画面上叠加一个从上往下移动的线段,类似微信扫描二维码那样,应该怎么做呢?

因为WPF控件会被Winform控件遮挡住,所以我试过下面这种方法
  <wfi:WindowsFormsHost x:Name="mapContainer">
        </wfi:WindowsFormsHost>
        <wfi:WindowsFormsHost >
            <ElementHost>
                <StackPanel VerticalAlignment="Bottom" HorizontalAlignment="Right" Background="Blue" Width="75" Height="45">
                </StackPanel>
            </ElementHost>
        </wfi:WindowsFormsHost>
但是这样的话,摄像头画面又不显示了。
下面是我的布局代码,没怎么用过wpf,有什么问题麻烦大家指出
<Grid Grid.Column="0" x:Name="videoGrid">
<wfi:WindowsFormsHost>
<aforge:VideoSourcePlayer x:Name="sourcePlayer"/>
</wfi:WindowsFormsHost>
<wfi:WindowsFormsHost>
<ElementHost>
<Canvas>
<Path Stroke="Green" StrokeThickness="5">
<Path.Data>
<LineGeometry StartPoint="30,10" EndPoint="280,10"></LineGeometry>
</Path.Data>
</Path>
</Canvas>
</ElementHost>
</wfi:WindowsFormsHost>
</Grid>
...全文
1198 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
  • 打赏
  • 举报
回复
根本不应该使用 Winform 控件。
2081 2018-02-28
  • 打赏
  • 举报
回复
引用 1 楼 u012108375 的回复:
直接在VideoSourcePlayer的回调函数里手动画线就行了
VideoSourcePlayer 的NewFrame事件里面 private void Player_NewFrame(object sender, ref System.Drawing.Bitmap image) image参数就是当前帧的图像 直接在上面画条线就行了
exception92 2018-02-28
  • 打赏
  • 举报
回复
WPF控件会被Winform控件遮挡住, -》这个据我所知,WindowsFormsHost 总会在任何wpf控件之上,目前无解。
weixin_40719393 2018-02-28
  • 打赏
  • 举报
回复
我又在网上找了一下,是不是应该用这个呢?WPFMediaKit.dll
weixin_40719393 2018-02-27
  • 打赏
  • 举报
回复
引用 1 楼 u012108375 的回复:
直接在VideoSourcePlayer的回调函数里手动画线就行了
感谢回答,能详细说下如何实现吗?实在没啥头绪。
2081 2018-02-27
  • 打赏
  • 举报
回复
直接在VideoSourcePlayer的回调函数里手动画线就行了

8,834

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 组件/控件开发
社区管理员
  • 组件/控件开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧