在Krpano中点击热点放大图片并交互

在全景项目中,经常会遇到这样的功能:点击场景中的某个热点,能够进行图片放大,同时还可以对图片进行交互操作,比如放大图片、拖动图片等,本章节内容讲述如何在Krpano库中调用js代码实现图片的放大和交互。具体效果如下:

本次我们使用到的js库叫viewer,github地址

接下来进入本章的重点,如何在Krpano项目中集成使用:

步骤一:

  1. 下载 viewer.jsviewer.css 本文所使用版本为1.5.0 不同版本会有所区别,看官网使用(文件在dist) 百度网盘
  2. 下载后,将文件放到你工程里,我这里在工程下建立有css和js文件夹

步骤二:

在index.html中引入这两个文件,Krpano默认创建的项目叫vtour.html,我这里更名成index.html了,具体引入方式如下,将下面代码放到head标签里:

<!-- 图片预览使用 -->
<link rel="stylesheet" href="css/viewer.css" />

将下面代码放到head或body中都可以,我放到了body的第一行

<script src="js/viewer.js"></script>

步骤三:

在body中创建一个img标签,用于全局图片放大功能,创建时默认不显示,设置display为none,具体代码如下:

<!-- 该img标签用于全局图片放大功能(全景场景中点击图片热点展示图片使用) -->
<img src="" id="hideImg" style="display: none" />

封装js函数用于Krpano中热点事件调用,功能是根据热点点击展示要放大的图片,具体代码如下:

// 图片预览方式(krpano中调用)  
function openImage(imgscr) {
    document.getElementById("hideImg").src = imgscr;
    var image = new Viewer(document.getElementById("hideImg"), {
		url: "data-original",
	});
	document.getElementById("hideImg").click();
}

注意以上js代码放到html文件的body下默认生成的id为pano的div下的script标签里。

步骤四:

以上已基本完成所有前置工作,接下来就是在Krpano中调用了,找到你在场景中设置的图片点击热点,示例代码如下:

<!-- 添加图片热点 -->
<hotspot name="spot4-1-1" url="./images/waves.png" onloaded="do_crop_animation(128,128, 15);"
ath="0"  
atv="2" 
scale="0.6" 
zoom="true"
onclick="js(openImage('./images/rongyu/hotimage/4.企业文化.jpg'););"
/>

上述代码中,核心代码是onclick事件,在Krpano调用js方法格式:js(方法名(参数););
注意,这个在调用openImage函数时,传入的时当前要放大的图片路径。
以上就是在Krpano中调用js的函数库实现图片的放大效果,如果有什么问题可以私信我。

  • 5
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值