您的位置:首页 > 编程语言 > C#

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

2018-03-08 15:22 1656 查看
最近有个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(视错误情况而定)
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: