• 在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 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的函数库实现图片的放大效果,如果有什么问题可以私信我。

  • 相关阅读:
    [附源码]计算机毕业设计springboot个人博客系统
    微信小程序介绍
    MyBatis缓存
    图解LeetCode——1235. 规划兼职工作(难度:困难)
    linux-log系统日志输出等级
    真“火爆”还是假“繁荣” 用数据观察Art Gobblers
    SQL之alter的用法简介
    使用 html2canvas 和 jspdf 将页面转 pdf,同时解决当页面过长时,页面白屏问题
    「学习笔记」Garsia-Wachs 算法
    逆向分析练习五(移除链表元素)
  • 原文地址:https://blog.csdn.net/w710537643/article/details/139884142