krpano学习笔记,端口修改,krpano二次开发文档,krpano三维div信息展示,krpano热点显示文字
一、修改krpano端口
.\tour_testingserver -port=8085 ,修改端口,指定启动时的端口
二、给krpano添加div展示信息
和场景一起转动,不是layer,layer是固定的,没啥用。
主要是onloaded=里面的1个方法。
<action name="add_all_the_time_tooltip_info">txtadd(tooltipname, 'tooltip_', get(name));addplugin(get(tooltipname));txtadd(plugin[get(tooltipname)].parent, 'hotspot[', get(name), ']');set(plugin[get(tooltipname)].url,'%SWFPATH%/plugins/textfield.swf');set(plugin[get(tooltipname)].align,top);set(plugin[get(tooltipname)].edge,bottom);set(plugin[get(tooltipname)].x,0);set(plugin[get(tooltipname)].y,0);set(plugin[get(tooltipname)].autowidth,true);set(plugin[get(tooltipname)].autoheight,true);set(plugin[get(tooltipname)].vcenter,true);set(plugin[get(tooltipname)].background,true);set(plugin[get(tooltipname)].backgroundcolor,0x000000);set(plugin[get(tooltipname)].roundedge,5);set(plugin[get(tooltipname)].backgroundalpha,0.65);set(plugin[get(tooltipname)].padding,5);set(plugin[get(tooltipname)].border,false);set(plugin[get(tooltipname)].glow,0);set(plugin[get(tooltipname)].glowcolor,0xFFFFFF);set(plugin[get(tooltipname)].css,'text-align:center; color:#FFFFFF; font-family:MicrosoftYahei; font-size:30px;');if(device.mobile,set(plugin[get(tooltipname)].css,'text-align:center; color:#FFFFFF; font-family:MicrosoftYahei; font-weight:bold; font-size:30px;'););set(plugin[get(tooltipname)].textshadow,0);set(plugin[get(tooltipname)].textshadowrange,6.0);set(plugin[get(tooltipname)].textshadowangle,90);if(text == '' OR text === null,copy(plugin[get(tooltipname)].html,scene[get(linkedscene)].title),copy(plugin[get(tooltipname)].html,text));set(plugin[get(tooltipname)].enabled,false);set(plugin[get(tooltipname)].html,'<div class="divt"><table><tr><div class='titlediv'>1</div></tr><tr><td>1:</td> <td>1</td> </tr><tr><td>1:</td> <td>1</td> </tr><tr><td>1:</td> <td>1</td> </tr><tr><td>1:</td> <td>1</td> </tr></table></div>');set(plugin[get(tooltipname)].vlookat,45></action>
三、krpano热点文字显示
add_all_the_time_tooltip_info 代码在上一节点。
<scene name="scene_2lowsecrit" title="" onstart="" thumburl="panos/s/thumb.jpg" lat="" lng="" alt="" heading="">....<hotspot name="spot1619696682" style="skin_hotspotstyle_div" ath="3.18" atv="20.579" depth="1300.0" hlookat="110"linkedscene="scene_2lowsecrit" linkedscene_hoffset="0.0" use3dtransition="true"onloaded="add_all_the_time_tooltip_info();do_crop_animation_div(64,64, 60); "/></scene>
四、其它常用操作
1.增加热点的目的只是想画一个箭头切换一下场景,打开"krpano Tools.exe",打开软件主界面,点击左上方按钮“load xml”,载入vtour文件夹中的tour.xml文件就可以在软件中看到刚刚制作的场景了。
2.可以通过代码写入热点
<hotspot name="mytext1"type="text"zoom="true"ath="4.642" atv="24.049" edge="center"distorted="true"renderer="webgl"html="[span]DMI[/span]"css="font-family:Arial; font-size:14px; color:#fff;"vcenter="false"padding="5"wordwrap="true"bg="true"bgcolor="0x000000"bgalpha="0.6"bgborder="0"bgroundedge="0"bgshadow=""txtshadow=""mergedalpha="true"oversampling="1.0"mipmapping="false"onautosized=""onover="tween(alpha,1);tween(scale,0.9);"onout="tween(alpha,1);tween(scale,1);"onclick="action(open,container1);"/>
3.layer属性详解
<layer name="..." 定义引入的元素名称type="image" 引入元素的类型,可以为image、container、text(textfield),container为容器,可在容器内继续引入多个媒体元素url="..." 引入元素的路径(支持格式:SWF, JPG, PNG, GIF.)html="" 显示文字时的内容keep="false" 是否在跳入新场景时仍然保留显示该元素parent="" 设置父容器名称,可以直接是 plugin的name,也可以是全称:parent="layer[name]"或parent="hotspot[name]"alturl="" #引入元素的路径(支持格式:SWF, JPG, PNG, GIF.),只在html5浏览器使用devices="all" 设置显示的设备类型(详见设备列表)visible="true" 设置插入元素是否可见enabled="true" 设置插入元素是否接受鼠标事件handcursor="true" 鼠标移动该元素上时,是否变为小手maskchildren="false" 设置是否将子控件变为蒙板,设置为TRUE后,除子控件范围显示外,子控件边框与父控件边框之间区域将不显示scalechildren="false" 设置是否子空间跟随父控件一同缩放zorder="" 插入元素的次序索引,可以是字符也可以是数字,html5输出必须是0-100整数capture="true" 只是该元素接受事件,false时子元素也可接受事件children="true" 启用当前元素的子元素来接收鼠标事件。preload="false" 预加载,在加载pano之前先加载图层/插件的url,然后执行任何操作。blendmode="normal" 混合/混合模式( normal, layer, screen, add, subtract, difference, multiply, overlay, lighten, darken, hardlight, invert)仅flashstyle="" 调用已在文件中定义好的style的名称align="" 元素在屏幕对齐方式,lefttop, left, leftbottom, top, center, bottom, righttop, right, rightbottom (见示意图)edge="" 元素的边缘或描点层对齐方式,lefttop, left, leftbottom, top, center, bottom, righttop, right, rightbottom (见示意图)x="" 对齐边界到对齐点的X横向距离y="" 对齐边界到对齐点的y横向距离ox="" 偏移oy="" 偏移rotate="0.0" 插入元素显示时旋转度数width="" 插入元素的显示宽度(prop:自适应)height="" 插入元素的显示高度minwidth="0"maxwidth="0"minheight="0"maxheight="0"autowidth="false" 根据内容自适应宽度autoheight="false" 根据内容自适应高度scale="1.0" 插入元素的缩放比例pixelhittest="false" 仅flashsmoothing="true" 平滑 仅flashaccuracy="0" 精度alpha="1.0" 插入元素的不透明度autoalpha="false" 自动透明度usecontentsize="false" 满画布 仅flashscale9grid="" 定义9格网格(scale9grid="x-position|y-position|width|height|prescale*")crop="" 定义元素坐标及宽高 crop="x-position|y-position|width|height"onovercrop="" 设置元素鼠标移到上方后的坐标及宽高ondowncrop="" 设置元素鼠标按下状态后的坐标及宽高mask="" 遮罩 仅flasheffect="" 位图效果适用于层/插件的形象 仅flashbackground="" 可以设置false 去掉背景bgcolor="0x000000" type="container"状态下的背景颜色,非container状态下无效bgalpha="0.0" 背景不透明度bgborder="0" (bgborder="widths color alpha")边框bgroundedge="0" 圆角bgshadow="" (基本:bgshadow="xoffset yoffset blur color alpha";高级:gshadow="xoffset yoffset blur spread color alpha inset, ...")阴影bgcapture="false" 是否捕抓在背景容器上事件(type="container"状态下生效)onover="" 鼠标在经过上方时执行动作onhover="" 鼠标停在上方时执行动作onout="" 鼠标停移出范围时时执行动作onclick="" 鼠标停点击时执行动作ondown="" 鼠标按下时执行动作onup="" 鼠标按键松开时执行动作onloaded="" 加载元素完成后执行动作/>
4.增加热点事件
<!-- 定义一个动作 -->
<!-- 打开关闭图片 -->
<action name="open">
<!-- 这个语法的意思就是把第一个参数的visible(显示)设置为true -->
set(plugin[%1].visible,true);
tween(plugin[%1].alpha,1);
</action><action name="close">
set(plugin[%1].visible,false);
</action><hotspot name="mytext1"type="text"zoom="true"ath="4.642" atv="24.049" edge="center"distorted="true"renderer="webgl"html="[span]DMI[/span]"css="font-family:Arial; font-size:14px; color:#fff;"vcenter="false"padding="5"wordwrap="true"bg="true"bgcolor="0x000000"bgalpha="0.6"bgborder="0"bgroundedge="0"bgshadow=""txtshadow=""mergedalpha="true"oversampling="1.0"mipmapping="false"onautosized=""onover="tween(alpha,1);tween(scale,0.9);"onout="tween(alpha,1);tween(scale,1);"onclick="action(open,container1);"/><!-- 司机室右侧面板上ATP旋转开关 --><hotspot name="mytext2"type="text"zoom="true"ath="99.563" atv="34.140" edge="center"......onclick="action(open,container2);"这里声明点击的动作 其中container2 是下边图片图层的名字/><layername="container2"type="image" 定义图片图层url="图片的地址"width="100%"height="100%"maskchildren="true"visible="0"children="true"background="true" bgcapture="true" enabled="true"bgcolor="0x000000" bgalpha="0.8"onclick="action(close,get(name));" // 点击这个图片就可以隐藏图片>
先就记这些,欢迎关注。
相关文章:

krpano学习笔记,端口修改,krpano二次开发文档,krpano三维div信息展示,krpano热点显示文字
一、修改krpano端口 .\tour_testingserver -port8085 ,修改端口,指定启动时的端口 二、给krpano添加div展示信息 和场景一起转动,不是layer,layer是固定的,没啥用。 主要是onloaded里面的1个方法。 <action name…...

Jenkins 给任务分配 节点(Node)、设置工作空间目录
Jenkins 给任务分配 节点(Node)、设置工作空间目录 创建 Freestyle project 类型 任务 任务配置 Node 打开任务-> Configure-> General 勾选 Restrict where this project can be run Label Expression 填写一个 Node 的 Label,输入有效的 Label名字&#x…...

深入解析iOS视频录制(二):自定义UI的实现
深入解析 iOS 视频录制(一):录制管理核心MWRecordingController 类的设计与实现 深入解析iOS视频录制(二):自定义UI的实现 深入解析 iOS 视频录制(三):完…...
跳表的C语言实现
跳表(Skip List)是一种基于链表的动态数据结构,用于实现高效的查找、插入和删除操作。它通过引入多级索引来加速查找过程,类似于多级索引的有序链表。跳表的平均时间复杂度为 O(logn),在某些场景下可以替代平衡树。 以…...

Java Web开发实战与项目——Spring Security与权限管理实现
Web应用中,权限管理是系统安全的核心部分,确保用户只能访问他们被授权的资源。Spring Security是Spring框架中的一个安全框架,它提供了强大的认证和授权功能,用于实现用户认证和权限控制。本章节将详细讲解如何使用Spring Securit…...

单元测试方法的使用
import java.util.Date; import org.junit.Test; /** java中的JUnit单元测试* * 步骤:* 1.选中当前项目工程 --》 右键:build path --》 add libraries --》 JUnit 4 --》 下一步* 2.创建一个Java类进行单元测试。* 此时的Java类要求:①此类是公共的 ②此类提供一个公共的无参…...

VScode内接入deepseek包过程(本地部署版包会)
目录 1. 首先得有vscode软件 2. 在我们的电脑本地已经部署了ollama,我将以qwen作为实验例子 3. 在vscode上的扩展商店下载continue 4. 下载完成后,依次点击添加模型 5. 在这里可以添加,各种各样的模型,选择我们的ollama 6. 选…...
flink写入hdfs数据如何保证幂等的?
在 Flink 中使用 HDFS Connector 将数据写入 HDFS 时,保证幂等性是一个重要的需求,尤其是在数据可靠性要求较高的场景下。以下是详细介绍如何通过 Flink 和 HDFS 的特性以及一些设计上的优化来实现幂等性。 一、Flink 的 Checkpoint 机制 Flink 的 Chec…...
newgrp docker需要每次刷新问题
每次都需要运行 newgrp docker 的原因: 当用户被添加到 docker 组后,当前会话并不会立即更新组信息,因此需要通过 newgrp docker 切换到新的用户组以使权限生效 如果不想每次都手动运行 newgrp docker,可以在终端中配置一个自动刷新的脚本。…...
LM_Funny-2-01 递推算法:从数学基础到跨学科应用
目录 第一章 递推算法的数学本质 1.1 形式化定义与公理化体系 定理1.1 (完备性条件) 1.2 高阶递推的特征分析 案例:Gauss同余递推4 第二章 工程实现优化技术 2.1 内存压缩的革新方法 滚动窗口策略 分块存储技术 2.2 异构计算加速方案 GPU并行递推 量子计…...

WDM_OTN_基础知识_波分站点与组网类型
为了便于理解,我们用高铁来打个比方,这是郑州与武汉的高铁,中间经过了许昌孝感等很多个站点,郑州武汉作为始发站和终点站,所有人员都是上车或下车,而许昌等中间站点,既有人员上下车,…...

机器视觉--索贝尔滤波
引言 在图像处理领域,边缘检测是一项至关重要的任务,它能够帮助我们识别图像中不同区域的边界,为后续的目标识别、图像分割等操作奠定基础。索贝尔滤波(Sobel Filter)作为一种经典的边缘检测算法,因其简单…...

网络分析仪E5071C的回波损耗测量
回波损耗(Return Loss)是评估射频/微波元件(如滤波器、天线、电缆等)信号反射特性的关键参数,反映端口阻抗匹配性能。E5071C矢量网络分析仪(VNA)通过以下步骤实现高精度回波损耗测量:…...
力扣-二叉树-98 验证二叉搜索树
思路 第一个特性,二叉搜索树的中序遍历是有序的,第二个特性,利用两个指针判断大小关系 代码 class Solution { public:TreeNode* pre NULL;bool isValidBST(TreeNode* root) {if(root NULL) return true;bool left isValidBST(root->…...

【动态规划】详解 0-1背包问题
文章目录 1. 问题引入2. 从 dfs 到动态规划3. 动态规划过程分析4. 二维 dp 的遍历顺序5. 从二维数组到一维数组6. 一维数组的遍历次序7. 背包的遍历顺序8. 代码总结9. 总结 1. 问题引入 0-1 背包是比较经典的动态规划问题,这里以代码随想录里面的例子来介绍下。总的…...
【Java线程池与线程状态】线程池分类与最佳实践
解析Java线程池与线程状态变化,结合运行机制与业务场景对照,帮助形成系统性知识。 一、线程池核心要素(五维模型) 采用「参数配置→处理流程→工作模式」三层递进结构 核心参数(线程池DNA) corePoolSiz…...
【小白学AI系列】NLP 核心知识点(八)多头自注意力机制
文章目录 **多头自注意力机制(Multi-Head Self-Attention)****核心概念** **1. 自注意力机制(Self-Attention)****2. 多头机制(Multi-Head Attention)****3. 为什么要用多头注意力机制?****4. 公…...

学习笔记——word中图目录、表目录 标题引用
目标1: 建立——图1-1 引用——图1-1 1在word文档中的引用——>插入题注 新建标签,然后命名为“图1-“。 点击确认,即可插入如图所示 图1- 1 春天 需要把图1-和后面那个1中间的空格删除,即 图1-1 春天 2怎么去引用这个“…...
3.3 Hugging Face Transformers核心功能模块深度解析
Hugging Face Transformers核心功能模块深度解析 一、模块化架构总览 #mermaid-svg-wxTV5vrEo7Y57IlW {font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}#mermaid-svg-wxTV5vrEo7Y57IlW .error-icon{fill:#552222;}#mermaid-svg-wxT…...

linux中设置脚本定时执行ntp命令同步时间
目录 一、背景二、过程1.到系统目录2.安装ntp3.创建文件夹4.创建脚本文件5.提升脚本文件权限6.设置执行时间:7.检查是否设置了执行器(执行后输出的内容为执行器中的定时执行内容)8.执行脚本文件9.查看日志文件,是否执行成功 三、总…...

Chapter03-Authentication vulnerabilities
文章目录 1. 身份验证简介1.1 What is authentication1.2 difference between authentication and authorization1.3 身份验证机制失效的原因1.4 身份验证机制失效的影响 2. 基于登录功能的漏洞2.1 密码爆破2.2 用户名枚举2.3 有缺陷的暴力破解防护2.3.1 如果用户登录尝试失败次…...

19c补丁后oracle属主变化,导致不能识别磁盘组
补丁后服务器重启,数据库再次无法启动 ORA01017: invalid username/password; logon denied Oracle 19c 在打上 19.23 或以上补丁版本后,存在与用户组权限相关的问题。具体表现为,Oracle 实例的运行用户(oracle)和集…...

树莓派超全系列教程文档--(61)树莓派摄像头高级使用方法
树莓派摄像头高级使用方法 配置通过调谐文件来调整相机行为 使用多个摄像头安装 libcam 和 rpicam-apps依赖关系开发包 文章来源: http://raspberry.dns8844.cn/documentation 原文网址 配置 大多数用例自动工作,无需更改相机配置。但是,一…...
React Native在HarmonyOS 5.0阅读类应用开发中的实践
一、技术选型背景 随着HarmonyOS 5.0对Web兼容层的增强,React Native作为跨平台框架可通过重新编译ArkTS组件实现85%以上的代码复用率。阅读类应用具有UI复杂度低、数据流清晰的特点。 二、核心实现方案 1. 环境配置 (1)使用React Native…...

定时器任务——若依源码分析
分析util包下面的工具类schedule utils: ScheduleUtils 是若依中用于与 Quartz 框架交互的工具类,封装了定时任务的 创建、更新、暂停、删除等核心逻辑。 createScheduleJob createScheduleJob 用于将任务注册到 Quartz,先构建任务的 JobD…...
基础测试工具使用经验
背景 vtune,perf, nsight system等基础测试工具,都是用过的,但是没有记录,都逐渐忘了。所以写这篇博客总结记录一下,只要以后发现新的用法,就记得来编辑补充一下 perf 比较基础的用法: 先改这…...

cf2117E
原题链接:https://codeforces.com/contest/2117/problem/E 题目背景: 给定两个数组a,b,可以执行多次以下操作:选择 i (1 < i < n - 1),并设置 或,也可以在执行上述操作前执行一次删除任意 和 。求…...

智能仓储的未来:自动化、AI与数据分析如何重塑物流中心
当仓库学会“思考”,物流的终极形态正在诞生 想象这样的场景: 凌晨3点,某物流中心灯火通明却空无一人。AGV机器人集群根据实时订单动态规划路径;AI视觉系统在0.1秒内扫描包裹信息;数字孪生平台正模拟次日峰值流量压力…...

dify打造数据可视化图表
一、概述 在日常工作和学习中,我们经常需要和数据打交道。无论是分析报告、项目展示,还是简单的数据洞察,一个清晰直观的图表,往往能胜过千言万语。 一款能让数据可视化变得超级简单的 MCP Server,由蚂蚁集团 AntV 团队…...

使用 SymPy 进行向量和矩阵的高级操作
在科学计算和工程领域,向量和矩阵操作是解决问题的核心技能之一。Python 的 SymPy 库提供了强大的符号计算功能,能够高效地处理向量和矩阵的各种操作。本文将深入探讨如何使用 SymPy 进行向量和矩阵的创建、合并以及维度拓展等操作,并通过具体…...