About 简介
Krpano 可以方便快速的构建全景场景或全景视频
Krpano官方网站
Krpano 非官方中文文档
720ku
720yun
New720
New720-Blog
KRPano技术解密
Krpano 全景笔记
成熟商业网站
tourvista
hunyan
印象城
wowkb.com
全景展示系统
awesome krpano
krpano_tool_stereo
Krpano 学习
Embedding into HTML
嵌入到HTML文档
XML文档
Actions / Scripting 动态执行动作及脚本
HTML5
Javascript接口调用
全景场景插入平面视频
Krpano-video
krpano内嵌视频编辑插件
Krpano 精灵图(雪碧图 || sprites)完美解决方案
做全景播放器的时候,我们们通常会用到各种各样的图标,播放暂停啊,全屏VR啊什么的,如果每个图标都用单张图片来引入的话,势必会产生非常多的HTTP请求,而我们知道,过多的HTTP请求是页面性能的大杀器,还好 Krpano-xml 的 layer 提供了 crop 属性给我们,这个属性可以让我们对图片进行切割,只显示切割出来的区域,和 CSS 精灵图使用 background-image 和 background-position 来进行图片显示的方式非常类似。
下面是 krpano crop 属性示例:
1 2 3 4 5 6
| <layer name="some-image-layer" url="/foo/bar/image.png" crop="0|0|64|64" /> //上述代码的意思就是,从 x=0 y=0 坐标开始,截取图片的64x64宽高的区域来显示。
|
现在我们有了 krpano 精灵图的使用方法,但是当你有很多张图片的时候,手动管理这些坐标点的位置是一件非常非常非常麻烦的事情。
CSS 精灵图已经有各种成熟的解决方案,比如博主喜欢的 gulp 插件 sprity ,它可以一键拼合零碎图片,并且生成 CSS/LESS/SASS 代码,可惜 krpano-xml 相对来说太小众了,我找遍 google 并没有找到一个好的解决方案,所以是时候造个轮子了:grin:。
Krpano-Plugins
Videoplayer
Videoplayer插件可用于在krpano内播放视频。
作为屏幕上的平面layer元素使用:
作为3D变形热点使用:
作为全景视频使用:
krpano工程问题
autorotate 自动旋转,自动播放
全景图在开启了自动旋转后,会自动在间隔时间内,加载其他scene,但是自动旋转却会停止;
KEEPMOVING Autorotate
浏览器接受蓝牙控制
蓝牙作为信息输入
Web Bluetooth
caniuse
Web Bluetooth API
热点
热点资源
将多张图片合并成一个png序列图的小小工具-PngMergeHelper 密码: wf65
将多张jpg图片合并成一个jpg序列图的小小工具-JPGCombine 密码: ecpr
将gif分离成多个png的小工具-GIF分离器 密码: kti6
动态热点代码分析
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24
| <action name="do_animation_hotspot"> <!-- add attributes to the hotspot --> registerattribute(xframes, calc((imagewidth / %1) BOR 0)); registerattribute(yframes, calc((imageheight / %2) BOR 0)); registerattribute(frames, calc(xframes * yframes)); registerattribute(frame, 0); set(crop, '0|0|%1|%2'); setinterval(calc('crop_anim_' + name), calc(1.0 / %3), if(loaded, inc(frame); if(frame GE frames, if(onlastframe !== null, onlastframe() ); set(frame,0); ); mod(xpos, frame, xframes); div(ypos, frame, xframes); Math.floor(ypos); mul(xpos, %1); mul(ypos, %2); calc(crop, xpos + '|' + ypos + '|%1|%2'); , clearinterval(calc('crop_anim_' + name)); ); ); </action>
|
动态热点上添加始终显示的文字
插件
ABS-获取绝对位置
折叠菜单
Accordion Menu Plugin
太阳光插件
KRPANO太阳光插件
密码插件
KRPANO密码插件
自动缩略图分组
Auto Thumbs Plugin
KRPANO二维码自动生成插件
KRPANO二维码自动生成插件
高德地图导航插件
高德地图导航插件
说一说插件
说一说插件
多屏互动
KRPANO多屏互动原理
firstlook360
编辑器
krtonducthang
参考
Arliki
关注
易航智慧城市管理系统
zedcloud
krpano-cms
vrm-php
krpano-editor-vuejs
krpano-editor
krpano-editor-js
测试工程搭建
tour_testingserver.exe
导航图功能
实现浏览器后退加载场景
1 2 3 4 5 6 7 8 9
| //load pano on browser backbutton window.onpopstate = function (event) { var scene = event.state.scene; var vars = "view.hlookat=" + event.state.view.hlookat; vars += "&view.vlookat="+ event.state.view.vlookat; vars += "&view.fov="+ event.state.view.fov; krpano().call("loadscene(" + scene + "," + vars + ", MERGE, BLEND(1));"); };
|
1 2 3 4 5 6 7 8 9 10 11 12
| function krpano() { return document.getElementById("krpanoSWFObject"); } //called by scene loading function krp_pushState(scene, spot) { history.pushState({ scene: scene, refspot:spot }, scene, location.origin + "/?ambiente=" + scene); } function krp_replaceState(scene, view) { history.replaceState({ scene: scene, view:view }, scene, location.origin + "/?ambiente=" + scene); }
|