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 命令行工具包的更多相关文章

  1. Xcode 命令行工具 Command Line Tools

    xcode命令行工具包是一个小型独立包,可供下载独立于Xcode的和允许您执行命令行开发OS X. 在OS X10.9,就以及没有clt的下载安装包了,需要使用命令在线安装. xcode-select ...

  2. 如何创建一个基于命令行工具的跨平台的 NuGet 工具包

    命令行可是跨进程通信的一种非常方便的手段呢,只需启动一个进程传入一些参数即可完成一些很复杂的任务.NuGet 为我们提供了一种自动导入 .props 和 .targets 的方法,同时还是一个 .NE ...

  3. 【Andorid】短视频拍摄SDK——Vitamio Recorder 2.0 发布(支持ffmpeg命令行)

    简介 VCamera SDK Android 版(短视频拍摄SDK)是炫一下(北京)科技有限公司推出的软件开发工具包,为Android开发者提供简单.快捷的接口,帮助开发者实现Android平台上的短 ...

  4. JAVA基础学习之命令行方式、配置环境变量、进制的基本转换、排序法、JAVA文档生成等(1)

    1.命令行方式 dos命令行,常见的命令: dir:列出当前目录下的文件以及文件夹 md:创建目录 rd:删除目录 cd:进入指定目录 cd..:退回到上一级目录 cd/:退回到根目录 del:删除文 ...

  5. Apache Commons CLI 开发命令行工具示例

    概念说明Apache Commons CLI 简介 虽然各种人机交互技术飞速发展,但最传统的命令行模式依然被广泛应用于各个领域:从编译代码到系统管理,命令行因其简洁高效而备受宠爱.各种工具和系统都 提 ...

  6. Mac 下 Maven 的命令行安装

    JDK 的安装 系统的“系统偏好设置”中我们可以看到 Java的设置, Java 7(含) 之后的版本在这里可以看到. 点击进去后,可以看到独立的 Java 控制面板 注意,这里是 JRE 的版本, ...

  7. VMware10中的CentOS6.5命令行安装VMwaretools工具启用windows与虚拟机中Linux系统的共享目录

    VMware10中的CentOS6.5命令行安装VMwaretools工具启用windows与虚拟机中Linux系统的共享目录 一.描述 系统描述:win7旗舰版64位系统+VMware Workst ...

  8. 探索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. ...

  9. 自学Linux命令行与Shell脚本之路

    自学Linux命令行与Shell脚本之路[第一回]:初识Linux   1.1 自学Linux Shell1.1-Linux初识 1.2 自学Linux Shell1.2-Linux目录结构 1.3  ...

  10. bcdboot(引导修复工具) 命令行工具使用方法

    BCDboot 是一种用于快速设置系统分区或修复系统分区上的启动环境的工具.系统分区是通过从已安装的 Windows(R) 映像复制一小部分启动环境文件来设置的.BCDboot 还会在系统分区上创建引 ...

随机推荐

  1. unigui的程序编译后自动运行傻傻的手动【7】

    我们每次修改unigui程序后,一般需要编译后执行,查看效果.可是每次都要关闭杀掉服务程序,再刷新浏览器才能实现. EMB应该知道这个反人类的做法吧.实际上提供了参数配置:自动kill服务程序,自动打 ...

  2. SparkSql 写 Es

    官方文档 key 备注 es.write.operation index(默认)添加新数据,旧数据被替换,重新索引;create添加新数据,数据存在抛出异常;update 更新现有数据,不存在抛出异常 ...

  3. Vue横向滚动鼠标控制

    let level_cards // 标记可移动 , move_start // 移动初始的x位置 , move_x // 移动初始的容器偏移量 , move_scroll_left // 判断是否为 ...

  4. 前端速成之——Script

    Script 1-引入js和函数调用 function函数:必然存在一个返回值,绝对不会书写 void,要么返回 undefine,要么返回 return 的数据 function etoak(val ...

  5. 记录一次线上问题排查:JDK序列化问题

    场景简要概述 新加了个字段,然后发版,上线就发现了报错 当时这个问题很简单,其实就是用的是 JDK序列化,当时这个类实现了 Serializable接口,但是没显示定义 serialVersionUI ...

  6. 如何反向绘制出 .NET程序 异步方法调用栈

    一:背景 1. 讲故事 这个问题源于给训练营里的一位朋友分析的卡死dump,在分析期间我需要知道某一个异步方法的调用栈,但程序是 .framework 4.8 ,没有sos后续版本独有的 !dumpa ...

  7. 基于Python运用PyComCAD进行Autocad二次开发实例汇集

    本文将对运用Pycomcad库(Pycomcad详见,https://github.com/JohnYang1210/PycomCAD)做的一些项目及其效果图进行展示(欢迎各位老铁pull reque ...

  8. 使用 C++ 20 协程降低异步网络编程复杂度

    传统异步回调 vs C++20协程 协程是一种函数对象,可以设置锚点做暂停,然后再该锚点恢复继续运行.它是如何应用在网络异步编程方面的,请对比下面的两种代码风格: 基于回调的异步网络编程 先来看一个异 ...

  9. git reset回滚未提交的更改和覆盖分支

    摘要:介绍git reset使用技巧:回滚本地所有未提交的更改,用一个分支覆盖另一个分支.   git回滚本地所有未提交的更改可以使用命令 git reset,它的功能是强制覆盖本地文件到指定分支.切 ...

  10. 1 MyBatis动态SQL之综述和 if 语句

    摘要:使用 MyBatis 动态SQL,通过 if, choose, when, otherwise, trim, where, set, foreach和bind等标签,可组合成非常灵活的SQL语句 ...