Krpano学习:C#中生成全景功能发布在IIS上有水印(没有许可)的解决方法

本文主要是介绍Krpano学习:C#中生成全景功能发布在IIS上有水印(没有许可)的解决方法,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

krpano注册机制

  krpano的1.17版本以上,是打开krpano Tools.exe输入注册码进行注册,注册成功后在C:\Users\username\AppData\Roaming\krpano下可以看到.krpanolicense这个文件(username是你的用户名),也即是,只要你注册一次,不论你的电脑里有多少个krpano,放在什么位置,只要你电脑当前登录的用户名为这个username,那么所有的软件就都注册了。

IIS无法通过许可

1.17版本以下

  由于IIS无法通过license许可(没有该类型),因此,在C#中生成全景依旧有水印。
  在krpano1.17版本以下,由于是使用注册文件进行注册,因此,可以在krpano目录下找到krpano.license。打开IIS,双击MIME类型,在分组依据处右键,然后点击添加,文件扩展名写.license(注意有个点),MIME类型写application/octet-stream,然后确定,点击左侧的电脑名称即可回到主界面,然后点击右侧的重新启动即可。
  这里写图片描述
  这里写图片描述
  这里写图片描述
  这里写图片描述

1.17版本以上

  但是在1.17版本以上,使用注册码进行注册,生成的.krpanolicense已经不是在krpano目录下,因此,需要用其他方法进行。
  最保险的方法,是每次生成全景之前使用代码进行注册一次,由于是一次执行,它能检测出在生成前当前用户进行了注册,自然就没有水印了。那么,如何使用代码注册呢?
  在Krpano学习:在命令提示符(cmd)中生成全景中可以看到krpanotools.exe还有其他功能,其中就有注册。
  这里写图片描述
  这里写图片描述
  再继续输入krpanotools64.exe register “123456”即可

//注册 123456为注册码
krpanotools64.exe register “123456”
//查看注册信息
krpanotools64.exe register show
//移除注册信息,成功后即是未注册状态
krpanotools64.exe register remove

  根据Krpano学习:C#操作命令提示符(cmd),在C#中生成全景的方法,在生成全景前,先进行注册:

using System.Diagnostics;  //注册
string argreg = @"register ""123456""";
Process regProcess = new Process();
regProcess.StartInfo.FileName = krpanopath + "krpano/krpanotools64.exe";
regProcess.StartInfo.Arguments = argreg;
regProcess.Start();
regProcess.Close();//生成
private Process panoProcess = new Process();  
string arguments = "makepano " + markidconfig + " " + picturepath + "-panotype=sphere -hfov=360";  
panoProcess.StartInfo.FileName = krpanopath + "krpano/krpanotools64.exe";  
panoProcess.StartInfo.Arguments = arguments;  
panoProcess.EnableRaisingEvents = true;//为true时为进程终止时激发System.Diagnostics.Process.Exited事件  
//进程退出时执行,此处即全景生成成功后执行  
panoProcess.Exited += (object sender, EventArgs args) =>  //Lambda表达式  
{  ……  //生成成功后执行
};  
panoProcess.Start();//启动程序  
panoProcess.WaitForExit();//等待进程退出  

  这样,每次调用函数时先注册再生成,生成时软件会认为当前是注册状态,就不会出现水印了。
  如果谁有更好的方法,欢迎留言。

这篇关于Krpano学习:C#中生成全景功能发布在IIS上有水印(没有许可)的解决方法的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/187625

相关文章

Java function函数式接口的使用方法与实例

《Javafunction函数式接口的使用方法与实例》:本文主要介绍Javafunction函数式接口的使用方法与实例,函数式接口如一支未完成的诗篇,用Lambda表达式作韵脚,将代码的机械美感... 目录引言-当代码遇见诗性一、函数式接口的生物学解构1.1 函数式接口的基因密码1.2 六大核心接口的形态学

Python实现文件下载、Cookie以及重定向的方法代码

《Python实现文件下载、Cookie以及重定向的方法代码》本文主要介绍了如何使用Python的requests模块进行网络请求操作,涵盖了从文件下载、Cookie处理到重定向与历史请求等多个方面,... 目录前言一、下载网络文件(一)基本步骤(二)分段下载大文件(三)常见问题二、requests模块处理

Linux内存泄露的原因排查和解决方案(内存管理方法)

《Linux内存泄露的原因排查和解决方案(内存管理方法)》文章主要介绍了运维团队在Linux处理LB服务内存暴涨、内存报警问题的过程,从发现问题、排查原因到制定解决方案,并从中学习了Linux内存管理... 目录一、问题二、排查过程三、解决方案四、内存管理方法1)linux内存寻址2)Linux分页机制3)

vue基于ElementUI动态设置表格高度的3种方法

《vue基于ElementUI动态设置表格高度的3种方法》ElementUI+vue动态设置表格高度的几种方法,抛砖引玉,还有其它方法动态设置表格高度,大家可以开动脑筋... 方法一、css + js的形式这个方法需要在表格外层设置一个div,原理是将表格的高度设置成外层div的高度,所以外层的div需要

使用TomCat,service输出台出现乱码的解决

《使用TomCat,service输出台出现乱码的解决》本文介绍了解决Tomcat服务输出台中文乱码问题的两种方法,第一种方法是修改`logging.properties`文件中的`prefix`和`... 目录使用TomCat,service输出台出现乱码问题1解决方案问题2解决方案总结使用TomCat,

解决Spring运行时报错:Consider defining a bean of type ‘xxx.xxx.xxx.Xxx‘ in your configuration

《解决Spring运行时报错:Considerdefiningabeanoftype‘xxx.xxx.xxx.Xxx‘inyourconfiguration》该文章主要讲述了在使用S... 目录问题分析解决方案总结问题Description:Parameter 0 of constructor in x

解决IDEA使用springBoot创建项目,lombok标注实体类后编译无报错,但是运行时报错问题

《解决IDEA使用springBoot创建项目,lombok标注实体类后编译无报错,但是运行时报错问题》文章详细描述了在使用lombok的@Data注解标注实体类时遇到编译无误但运行时报错的问题,分析... 目录问题分析问题解决方案步骤一步骤二步骤三总结问题使用lombok注解@Data标注实体类,编译时

电脑没有仿宋GB2312字体怎么办? 仿宋GB2312字体下载安装及调出来的教程

《电脑没有仿宋GB2312字体怎么办?仿宋GB2312字体下载安装及调出来的教程》仿宋字体gb2312作为一种经典且常用的字体,广泛应用于各种场合,如何在计算机中调出仿宋字体gb2312?本文将为您... 仿宋_GB2312是公文标准字体之一,仿China编程宋是字体名称,GB2312是字php符编码标准名称(简

C语言小项目实战之通讯录功能

《C语言小项目实战之通讯录功能》:本文主要介绍如何设计和实现一个简单的通讯录管理系统,包括联系人信息的存储、增加、删除、查找、修改和排序等功能,文中通过代码介绍的非常详细,需要的朋友可以参考下... 目录功能介绍:添加联系人模块显示联系人模块删除联系人模块查找联系人模块修改联系人模块排序联系人模块源代码如下

Java中使用Java Mail实现邮件服务功能示例

《Java中使用JavaMail实现邮件服务功能示例》:本文主要介绍Java中使用JavaMail实现邮件服务功能的相关资料,文章还提供了一个发送邮件的示例代码,包括创建参数类、邮件类和执行结... 目录前言一、历史背景二编程、pom依赖三、API说明(一)Session (会话)(二)Message编程客