C# 调用火狐内核做浏览器 与 JNI 调用 OpenCV做图像压缩

最近有个h5前段项目只能用火狐打开才能用(flash 插件支持),想来想去没啥好办法,就想用C#做个自定义浏览器,进行定制打开,简单做法就是

https://bitbucket.org/geckofx/geckofx-33.0 gexkofx 下载地址

C# 引入dll 截图


 public partial class Form1 : Form
    {
     //   GeckoWebBrowser gecko = new GeckoWebBrowser();
        Gecko.GeckoWebBrowser gecko= new Gecko.GeckoWebBrowser(); //初始化一个GeckoWeb浏览器空间
        public Form1()
        {
            InitializeComponent();
            Xpcom.Initialize("Firefox");
            //GeckoPreferences.User["gfx.font_rendering.graphite.enabled"] = true;
            GeckoPreferences.Default["extensions.blocklist.enabled"] = true;
            //Gecko.GeckoPreferences.Default("extensions.blocklist.enabled") = false;
            initFireFox();
            OpenURL(ConfigUtil.GetValue("urlconfig", "urlstring")); ConfigUtil是对 ini文件读取的封装类
        }
        private void initFireFox()
        {
            gecko.CreateControl();


            gecko.NoDefaultContextMenu = false; //禁用右键菜单


            gecko.Dock = DockStyle.Fill;




            this.Controls.Add(gecko); //添加到窗口中*/
        
        }
        private void OpenURL(String url)
        {
          gecko.Navigate(url);

        }

///////////////////////////////////////////////////////////////////////////////////////////////

<!-- 图片缩略图 -->
<dependency>
   <groupId>net.coobird</groupId>
   <artifactId>thumbnailator</artifactId>
   <version>[0.4, 0.5)</version>
</dependency>


<!-- 视频缩略图 -->
<dependency>
   <groupId>org.bytedeco</groupId>
   <artifactId>javacv</artifactId>
   <version>0.8</version>

</dependency>

视频压缩包爆出 缺少 libXv.so.1:文件,问题考虑,报告这个问题是因为org.bytedeco调用 C++动态库进行视频压缩是缺少固定的导致,在linux进行将相应的软件进行安装就可以,当然知道 是基于java JNI技术实现,JNI解决了java调用非JDK库的能力,对于JDK处理openGL openCV 相关的东西都是比较困难的(这里说的是用java去实现一套,没必要),只能通过JNI技术

解决办法:

 yum install libXv*

yum install SDL(视错误情况而定)

猜你喜欢

转载自blog.csdn.net/u012453032/article/details/79483628
今日推荐