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.查看日志文件,是否执行成功 三、总…...
C++:std::is_convertible
C++标志库中提供is_convertible,可以测试一种类型是否可以转换为另一只类型: template <class From, class To> struct is_convertible; 使用举例: #include <iostream> #include <string>using namespace std;struct A { }; struct B : A { };int main…...
UE5 学习系列(三)创建和移动物体
这篇博客是该系列的第三篇,是在之前两篇博客的基础上展开,主要介绍如何在操作界面中创建和拖动物体,这篇博客跟随的视频链接如下: B 站视频:s03-创建和移动物体 如果你不打算开之前的博客并且对UE5 比较熟的话按照以…...
【项目实战】通过多模态+LangGraph实现PPT生成助手
PPT自动生成系统 基于LangGraph的PPT自动生成系统,可以将Markdown文档自动转换为PPT演示文稿。 功能特点 Markdown解析:自动解析Markdown文档结构PPT模板分析:分析PPT模板的布局和风格智能布局决策:匹配内容与合适的PPT布局自动…...
.Net Framework 4/C# 关键字(非常用,持续更新...)
一、is 关键字 is 关键字用于检查对象是否于给定类型兼容,如果兼容将返回 true,如果不兼容则返回 false,在进行类型转换前,可以先使用 is 关键字判断对象是否与指定类型兼容,如果兼容才进行转换,这样的转换是安全的。 例如有:首先创建一个字符串对象,然后将字符串对象隐…...
佰力博科技与您探讨热释电测量的几种方法
热释电的测量主要涉及热释电系数的测定,这是表征热释电材料性能的重要参数。热释电系数的测量方法主要包括静态法、动态法和积分电荷法。其中,积分电荷法最为常用,其原理是通过测量在电容器上积累的热释电电荷,从而确定热释电系数…...
【C++进阶篇】智能指针
C内存管理终极指南:智能指针从入门到源码剖析 一. 智能指针1.1 auto_ptr1.2 unique_ptr1.3 shared_ptr1.4 make_shared 二. 原理三. shared_ptr循环引用问题三. 线程安全问题四. 内存泄漏4.1 什么是内存泄漏4.2 危害4.3 避免内存泄漏 五. 最后 一. 智能指针 智能指…...
Kubernetes 网络模型深度解析:Pod IP 与 Service 的负载均衡机制,Service到底是什么?
Pod IP 的本质与特性 Pod IP 的定位 纯端点地址:Pod IP 是分配给 Pod 网络命名空间的真实 IP 地址(如 10.244.1.2)无特殊名称:在 Kubernetes 中,它通常被称为 “Pod IP” 或 “容器 IP”生命周期:与 Pod …...
鸿蒙HarmonyOS 5军旗小游戏实现指南
1. 项目概述 本军旗小游戏基于鸿蒙HarmonyOS 5开发,采用DevEco Studio实现,包含完整的游戏逻辑和UI界面。 2. 项目结构 /src/main/java/com/example/militarychess/├── MainAbilitySlice.java // 主界面├── GameView.java // 游戏核…...
基于谷歌ADK的 智能产品推荐系统(2): 模块功能详解
在我的上一篇博客:基于谷歌ADK的 智能产品推荐系统(1): 功能简介-CSDN博客 中我们介绍了个性化购物 Agent 项目,该项目展示了一个强大的框架,旨在模拟和实现在线购物环境中的智能导购。它不仅仅是一个简单的聊天机器人,更是一个集…...
LINUX编译vlc
下载 VideoLAN / VLC GitLab 选择最新的发布版本 准备 sudo apt install -y xcb bison sudo apt install -y autopoint sudo apt install -y autoconf automake libtool编译ffmpeg LINUX FFMPEG编译汇总(最简化)_底部的附件列表中】: ffmpeg - lzip…...
