Krpano krpanotools 命令行工具包
PHP Krpano 工具包
集成krpanotools工具命令,不用看官方文档。即可使用的工具包几行代码搞定
krpanotools搞定生涩的命令。
krpano Tools (Command-Line) 说明
krpanotools应用程序提供以下功能:
- makepano - 制作一个基于模板的全景图或全景图。
- maketiles - 制作或合并平铺图像。也可用于转换和调整大小。
- convert - 转换或调整图像大小。
- makepreview - 制作平滑的全景预览图像。
- spheretocube - 将球面图像转换为立方体全景图像。
- cubetosphere - 将立方体图像转换为球形全景图像。
- protect - 创建具有自定义保护设置的查看器文件。
- encrypt - 加密文件。
- testserver - krpano测试服务器。
- register -License注册工具。
安装
composer require pl1998/php-krpano
makepano命令 全景图片生成全景图
<?php
require "vendor/autoload.php";
$pkgPath = "/Users/panliang/Desktop/krpano-1.21/";
$filePath = __DIR__.'/vr/99999';
$cmd = (new \Panliang\PhpKrpano\Command\MakePano())
->setConfig("{$pkgPath}templates/vtour-multires.config") //设置配置文件
->setTilePath("{$filePath}/vtour/list/l%Al[_c]_%Av_%Ah.jpg") //设置切片规则
// ->setThumbPath("{$filePath}/thumb.jpg") //设置主题图生成路径
// ->setXmlPath("{$filePath}/tour.xml") // 设置xml文件生成路径
->setPreviewPath("{$filePath}/vtour/list/preview.jpg") //设置预览图生成路径
->setTempCubePath("{$filePath}/tempcubepath")
->setThumbSize(430) // 设置主题图尺寸
->setImgPath(__DIR__."/origin90.jpg") //需要生成的全景球面图路径
->setOutput($filePath."/vtour"); //生成目录
//生成vr作品
$data = (new \Panliang\PhpKrpano\ExecShell(
(new \Panliang\PhpKrpano\KrpanoToolsScripts("$pkgPath/krpanotools"))
->setCmd($cmd)
))->exec()->echo();
var_dump($data);
cubetosphere 命令 demo 根据切片还原全景图
<?php
require "vendor/autoload.php";
// 命令路径
$pkgPath = "/Users/panliang/Desktop/krpano-1.21/";
// 切片存放的文件夹
$path = __DIR__.'/list/';
// 根据切片获取6张小图
$sixImage = (new \Panliang\PhpKrpano\Helpers\VrSliceToSixImg())->getSixImage($path);
// 设置CubeToSphere命令
$cmd = (new \Panliang\PhpKrpano\Command\CubeToSphere())
->setImageList($sixImage)
->setJpegQuality(90) //设置图片质量 0-100
// ->setQuit() // 设置直接退出
// ->setSize("1080x1090") //设置图片长宽
// ->setJpegSubSamp() //设置图片颜色采样 444,420,420,411,default=444
// ->setJpegOptimize()//是使用huffman算法压缩图片,true或false,default=true。
// ->setTiffCompress()//设置TIFF压缩方法,none,lzw, zip或jpeg, default=lzw。
// ->setTempDir("") // 为临时文件设置自定义目录。
->setOutput(__DIR__."/origin90.jpg"); //输出指定图片
//切片合成全景图
$data = (new \Panliang\PhpKrpano\ExecShell(
(new \Panliang\PhpKrpano\KrpanoToolsScripts("{$pkgPath}krpanotools"))
->setCmd($cmd)
))->exec()->echo();
var_dump($data);
Krpano krpanotools 命令行工具包的更多相关文章
- Xcode 命令行工具 Command Line Tools
xcode命令行工具包是一个小型独立包,可供下载独立于Xcode的和允许您执行命令行开发OS X. 在OS X10.9,就以及没有clt的下载安装包了,需要使用命令在线安装. xcode-select ...
- 如何创建一个基于命令行工具的跨平台的 NuGet 工具包
命令行可是跨进程通信的一种非常方便的手段呢,只需启动一个进程传入一些参数即可完成一些很复杂的任务.NuGet 为我们提供了一种自动导入 .props 和 .targets 的方法,同时还是一个 .NE ...
- 【Andorid】短视频拍摄SDK——Vitamio Recorder 2.0 发布(支持ffmpeg命令行)
简介 VCamera SDK Android 版(短视频拍摄SDK)是炫一下(北京)科技有限公司推出的软件开发工具包,为Android开发者提供简单.快捷的接口,帮助开发者实现Android平台上的短 ...
- JAVA基础学习之命令行方式、配置环境变量、进制的基本转换、排序法、JAVA文档生成等(1)
1.命令行方式 dos命令行,常见的命令: dir:列出当前目录下的文件以及文件夹 md:创建目录 rd:删除目录 cd:进入指定目录 cd..:退回到上一级目录 cd/:退回到根目录 del:删除文 ...
- Apache Commons CLI 开发命令行工具示例
概念说明Apache Commons CLI 简介 虽然各种人机交互技术飞速发展,但最传统的命令行模式依然被广泛应用于各个领域:从编译代码到系统管理,命令行因其简洁高效而备受宠爱.各种工具和系统都 提 ...
- Mac 下 Maven 的命令行安装
JDK 的安装 系统的“系统偏好设置”中我们可以看到 Java的设置, Java 7(含) 之后的版本在这里可以看到. 点击进去后,可以看到独立的 Java 控制面板 注意,这里是 JRE 的版本, ...
- VMware10中的CentOS6.5命令行安装VMwaretools工具启用windows与虚拟机中Linux系统的共享目录
VMware10中的CentOS6.5命令行安装VMwaretools工具启用windows与虚拟机中Linux系统的共享目录 一.描述 系统描述:win7旗舰版64位系统+VMware Workst ...
- 探索Windows命令行系列(7):通过命令编译C#类和Java类
1.编译 C# 类 1.1.C# 编译工具 1.2.编译一个 C# 类 1.3.编译多个 C# 类 2.编译 Java 类 2.1.Java 编译工具 2.2.编译 Java 类 3.组合命令符 4. ...
- 自学Linux命令行与Shell脚本之路
自学Linux命令行与Shell脚本之路[第一回]:初识Linux 1.1 自学Linux Shell1.1-Linux初识 1.2 自学Linux Shell1.2-Linux目录结构 1.3 ...
- bcdboot(引导修复工具) 命令行工具使用方法
BCDboot 是一种用于快速设置系统分区或修复系统分区上的启动环境的工具.系统分区是通过从已安装的 Windows(R) 映像复制一小部分启动环境文件来设置的.BCDboot 还会在系统分区上创建引 ...
随机推荐
- unigui的程序编译后自动运行傻傻的手动【7】
我们每次修改unigui程序后,一般需要编译后执行,查看效果.可是每次都要关闭杀掉服务程序,再刷新浏览器才能实现. EMB应该知道这个反人类的做法吧.实际上提供了参数配置:自动kill服务程序,自动打 ...
- SparkSql 写 Es
官方文档 key 备注 es.write.operation index(默认)添加新数据,旧数据被替换,重新索引;create添加新数据,数据存在抛出异常;update 更新现有数据,不存在抛出异常 ...
- Vue横向滚动鼠标控制
let level_cards // 标记可移动 , move_start // 移动初始的x位置 , move_x // 移动初始的容器偏移量 , move_scroll_left // 判断是否为 ...
- 前端速成之——Script
Script 1-引入js和函数调用 function函数:必然存在一个返回值,绝对不会书写 void,要么返回 undefine,要么返回 return 的数据 function etoak(val ...
- 记录一次线上问题排查:JDK序列化问题
场景简要概述 新加了个字段,然后发版,上线就发现了报错 当时这个问题很简单,其实就是用的是 JDK序列化,当时这个类实现了 Serializable接口,但是没显示定义 serialVersionUI ...
- 如何反向绘制出 .NET程序 异步方法调用栈
一:背景 1. 讲故事 这个问题源于给训练营里的一位朋友分析的卡死dump,在分析期间我需要知道某一个异步方法的调用栈,但程序是 .framework 4.8 ,没有sos后续版本独有的 !dumpa ...
- 基于Python运用PyComCAD进行Autocad二次开发实例汇集
本文将对运用Pycomcad库(Pycomcad详见,https://github.com/JohnYang1210/PycomCAD)做的一些项目及其效果图进行展示(欢迎各位老铁pull reque ...
- 使用 C++ 20 协程降低异步网络编程复杂度
传统异步回调 vs C++20协程 协程是一种函数对象,可以设置锚点做暂停,然后再该锚点恢复继续运行.它是如何应用在网络异步编程方面的,请对比下面的两种代码风格: 基于回调的异步网络编程 先来看一个异 ...
- git reset回滚未提交的更改和覆盖分支
摘要:介绍git reset使用技巧:回滚本地所有未提交的更改,用一个分支覆盖另一个分支. git回滚本地所有未提交的更改可以使用命令 git reset,它的功能是强制覆盖本地文件到指定分支.切 ...
- 1 MyBatis动态SQL之综述和 if 语句
摘要:使用 MyBatis 动态SQL,通过 if, choose, when, otherwise, trim, where, set, foreach和bind等标签,可组合成非常灵活的SQL语句 ...