vue中自定义OpenSeadragon插件的工具栏
vue
vuejs/vue: 是一个用于构建用户界面的 JavaScript 框架,具有简洁的语法和丰富的组件库,可以用于开发单页面应用程序和多页面应用程序。
项目地址:https://gitcode.com/gh_mirrors/vu/vue

·
OpenSeadragon是一个可以显示多层图片(可放大缩小)的Web库,基于JavaScript,支持桌面和手机,主要用于地图、医学图像等需要放大缩小分层显示的图像的显示。OpenSeadragon为我们提供了现成的工具条toolBar,工具条上有按钮,可以默认实现放大、缩小、全屏、返回默认大小等功能,官方文档:OpenSeadragon
但我们的项目中工具条的样式与官网所提供的样式不符,今天我们就来谈谈如何自定义工具条,并绑定上相对应的功能。
下文项目中工具条功能主要用到放大、缩小、返回默认、全屏功能。
要实现的功能为工具条位于容器的右侧,并纵向排列,工具条的图表也是自定义图标实现步骤
1.首先在页面中添加自定义工具条
<template>
<div style="width: 100%;height: 100%;">
// 自定义工具条
<div id="toolbarDiv" style="width:100%;height: 300px;">
<div>
<div id="zoom-in"></div>
<div id="zoom-out"></div>
<div id="home"></div>
<div id="full-page"></div>
</div>
</div>
<div id="contentDiv" style="width: 100%;height: 100%;"></div>
</div>
</template>
2.配置自定义工具条
options: {
id: "contentDiv",
toolbar: "toolbarDiv",
prefixUrl: "images/", //host "https://openseadragon.github.io/openseadragon/images/"
constrainDuringPan: false,
showNavigator: false, // 展示导航图
autoHideControls: false,
// sequenceMode: true,
// showReferenceStrip: true,
// referenceStripScroll: 'vertical',
zoomInButton: "zoom-in", //放大
zoomOutButton: "zoom-out", //缩小
homeButton: "home", //恢复默认
fullPageButton: "full-page", //全屏
}, // openseadragon 参数配置
3.修改样式
<style scoped lang="scss">
.contentDiv {
width: 100%;
height: 100%;
}
#toolbarDiv{
position: absolute!important;
}
#zoom-in {
width: 50px;
height: 50px;
background: url(../assets/testcenter/fangda.png)no-repeat;
background-size: 100% 100%;
margin-bottom: 20px;
position: absolute !important;
top: 30px;
right: 43px;
z-index: 999;
}
#zoom-out {
width: 50px;
height: 50px;
background: url(../assets/testcenter/suoxiao.png)no-repeat;
background-size: 100% 100%;
margin-bottom: 20px;
position: absolute !important;
top: 100px;
right: 43px;
z-index: 999;
}
#home {
width: 50px;
height: 50px;
background: url(../assets/testcenter/moren.png)no-repeat;
background-size: 100% 100%;
margin-bottom: 20px;
position: absolute !important;
top: 170px;
right: 43px;
z-index: 999;
}
#full-page {
width: 50px;
height: 50px;
background: url(../assets/testcenter/quanping.png)no-repeat;
background-size: 100% 100%;
position: absolute !important;
top: 240px;
right: 43px;
z-index: 999;
}
</style>
图中自定义图标按需使用自己的即可,样式使用定位,一定要添加权重z-index,不然无法实现功能,到此就实现了




vuejs/vue: 是一个用于构建用户界面的 JavaScript 框架,具有简洁的语法和丰富的组件库,可以用于开发单页面应用程序和多页面应用程序。
最近提交(Master分支:1 个月前 )
9e887079
[skip ci] 1 年前
73486cb5
* chore: fix link broken
Signed-off-by: snoppy <michaleli@foxmail.com>
* Update packages/template-compiler/README.md [skip ci]
---------
Signed-off-by: snoppy <michaleli@foxmail.com>
Co-authored-by: Eduardo San Martin Morote <posva@users.noreply.github.com> 1 年前

新一代开源开发者平台 GitCode,通过集成代码托管服务、代码仓库以及可信赖的开源组件库,让开发者可以在云端进行代码托管和开发。旨在为数千万中国开发者提供一个无缝且高效的云端环境,以支持学习、使用和贡献开源项目。
更多推荐
所有评论(0)