前言
前面的文章主要基本介绍了krpano一些元素的用法,从这篇文章开始我们就进入全景开发的实战教学,从全景切图到全景编辑最后到整个全景的预览,前端使用react框架+antd组件库+krpano,后端使用koa来实现一个类似720云全景的制作网站
在之前的文章中都是通过MAKE VTOUR Droplet.exe应用程序来手动切图的,但是对于一个制作网站来说肯定是网站来帮用户实现切图,用户只需要上传全景图片,前端拿到图片再传给后端,通过后端来完成切图,所以步骤是-->
用户选择图片切图-->
客户端拿到图片后调用接口进行上传-->
服务端实现切图-->
切图完成
krpano实现切图demo
1.用户选择图片并调用接口上传
上传图片通过Upload组件上传,这里将官方文档的示例直接复制过来
<Upload {
...props}>
<Button type="primary">本地导入</Button>
</Upload>
const props: UploadProps = {
name: 'panos',
action: `${
BASE_URL}/upload/panos`,
headers: {
authorization: localcache.getCacha('token')
},
showUploadList: false,
multiple: true
}
2.实现切图
2.1如何实现切图
后端实现切图我们通过krpanotools.exe可执行文件执行命令行来切图,在我们从官网下来的包里就包含了这个文件
cmd执行一下krpanotools
命令,可以看到这个应用程序提供好几个功能:
makepano
:制作基于模版的全景或漫游maketiles
:制作或组合切片图像。可用于转换或重置尺寸makepreview
:制作平滑的预览图spheretocube
:球形或圆柱形全景图像转换为立方体cubetosphere
:立方体全景图像转换回球形全景图像protect
:生成自定义保护设置的viewer文件encrypt
:加密文件testserver
:测试服务register
:授权码注册
详细文档建议查看官方文档
我们主要通过makepano
命令来切图,这是官方的示例命令krpanotools makepano [-config=###] [OPTIONS] inputfiles …
config