zoukankan      html  css  js  c++  java
  • 解决“WinformHost总是把WPF控件挡在后面”

    参考:

      

      WPF里面嵌套WinformHost,会一直显示在最上面。winform和wpf绘制机制不一样,无法叠加的。
      也就是说,直接在WPF程序传递的Hwnd上绘制的视频是无法叠加控件的。

      如果非要在视频上叠加控件,可以使用writeablebitmap绘制图像的方式呈现视频,这里给两个方案:

    1. 如果能拿到摄像机的视频流的话,用ffmpeg库解码,将图像绘制到writeablebitmap上去。
    2. 在其它隐藏的进程或窗口中提供hwnd呈现视频,同时将呈现视频后的图像写入到writeablebitmap中去。

      方案1是我用过的,基本上就是自己写一个视频播放器了。 但需要拿到摄像机的h264码流,同时使用ffmpeg解码,工作量较大,但它是可控性最好,最灵活的方案了。

      方案2只是一个思路,没有试过,但就算可行工作量也不小。

      另外还有一个方案,3.如果该摄像头有web播放的方案的话,直接用浏览器播放,然后在WPF程序中嵌入浏览器控件。这个应该是工作量最小的。

      强烈统一您的第三种方法,就是通过web播放,然后再WPF程序中潜入浏览器控件

  • 相关阅读:
    ios实现下拉刷新,上拉加载
    ios实现瀑布流
    ios收货地址三级联动选择
    ios仿淘宝管理收货地址demo
    引用传值
    继承小结
    is操作符和as操作符
    抽象类和object类
    重写基类
    派生
  • 原文地址:https://www.cnblogs.com/shenchao/p/13444467.html
Copyright © 2011-2022 走看看