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中的getBytes()方法使用详解

《Java中的getBytes()方法使用详解》:本文主要介绍Java中getBytes()方法使用的相关资料,getBytes()方法有多个重载形式,可以根据需要指定字符集来进行转换,文中通过代... 目录前言一、常见重载形式二、示例代码三、getBytes(Charset charset)和getByt

idea报错java: 非法字符: ‘\ufeff‘的解决步骤以及说明

《idea报错java:非法字符:‘ufeff‘的解决步骤以及说明》:本文主要介绍idea报错java:非法字符:ufeff的解决步骤以及说明,文章详细解释了为什么在Java中会出现uf... 目录BOM是什么?1. BOM的作用2. 为什么会出现 \ufeff 错误?3. 如何解决 \ufeff 问题?最

Android 实现一个隐私弹窗功能

《Android实现一个隐私弹窗功能》:本文主要介绍Android实现一个隐私弹窗功能,本文通过实例代码给大家介绍的非常详细,感兴趣的朋友一起看看吧... 效果图如下:1. 设置同意、退出、点击用户协议、点击隐私协议的函数参数2. 《用户协议》、《隐私政策》设置成可点击的,且颜色要区分出来res/l

Spring三级缓存解决循环依赖的解析过程

《Spring三级缓存解决循环依赖的解析过程》:本文主要介绍Spring三级缓存解决循环依赖的解析过程,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录一、循环依赖场景二、三级缓存定义三、解决流程(以ServiceA和ServiceB为例)四、关键机制详解五、设计约

解决tomcat启动时报Junit相关错误java.lang.ClassNotFoundException: org.junit.Test问题

《解决tomcat启动时报Junit相关错误java.lang.ClassNotFoundException:org.junit.Test问题》:本文主要介绍解决tomcat启动时报Junit相... 目录tomcat启动时报Junit相关错误Java.lang.ClassNotFoundException

解决Maven项目报错:failed to execute goal org.apache.maven.plugins:maven-compiler-plugin:3.13.0的问题

《解决Maven项目报错:failedtoexecutegoalorg.apache.maven.plugins:maven-compiler-plugin:3.13.0的问题》这篇文章主要介... 目录Maven项目报错:failed to execute goal org.apache.maven.pl

nginx负载均衡及详细配置方法

《nginx负载均衡及详细配置方法》Nginx作为一种高效的Web服务器和反向代理服务器,广泛应用于网站的负载均衡中,:本文主要介绍nginx负载均衡及详细配置,需要的朋友可以参考下... 目录一、 nginx负载均衡策略1.1 基本负载均衡策略1.2 第三方策略1.3 策略对比二、 nginx配置2.1

Java调用Python的四种方法小结

《Java调用Python的四种方法小结》在现代开发中,结合不同编程语言的优势往往能达到事半功倍的效果,本文将详细介绍四种在Java中调用Python的方法,并推荐一种最常用且实用的方法,希望对大家有... 目录一、在Java类中直接执行python语句二、在Java中直接调用Python脚本三、使用Run

PyQt5+Python-docx实现一键生成测试报告

《PyQt5+Python-docx实现一键生成测试报告》作为一名测试工程师,你是否经历过手动填写测试报告的痛苦,本文将用Python的PyQt5和python-docx库,打造一款测试报告一键生成工... 目录引言工具功能亮点工具设计思路1. 界面设计:PyQt5实现数据输入2. 文档生成:python-

Android实现一键录屏功能(附源码)

《Android实现一键录屏功能(附源码)》在Android5.0及以上版本,系统提供了MediaProjectionAPI,允许应用在用户授权下录制屏幕内容并输出到视频文件,所以本文将基于此实现一个... 目录一、项目介绍二、相关技术与原理三、系统权限与用户授权四、项目架构与流程五、环境配置与依赖六、完整