为了账号安全,请及时绑定邮箱和手机立即绑定

如何在 vue-panzoom 中实现 zoomIn 和 zoomout

如何在 vue-panzoom 中实现 zoomIn 和 zoomout

慕莱坞森 2022-08-04 17:08:14
我正在尝试实现vue-panzoom的手动缩放选项。panzoom 是父库和默认缩放在这里得到了很好的演示,这就是我试图实现 https://timmywil.com/panzoom/demo/#Panning%20and%20zooming根据原始库(panzoom),有缩放,缩放和缩放输出功能,但实例没有这些方法到目前为止,我能找到的唯一方法是使用平滑缩放功能,我不确定如何使用它this.$refs.panZoom.$panZoomInstance.smoothZoom(2.2);这是我迄今为止尝试过的https://codesandbox.io/s/poc-zoompan-dz70x?file=/src/App.vue:737-793请看一下,任何建议都会有所帮助。
查看完整描述

1 回答

?
慕勒3428872

TA贡献1848条经验 获得超6个赞

您可以在这里看到timmywil panzoom库的简单实现,您可以轻松地使用道具和插槽来创建自己的组件,可在所有项目中重复使用


<template>

    <div>

        <div class="command">

            <button @click="zoom(1)">ZoomIn</button>

            <button @click="zoom(-1)">ZoomOut</button>

        </div>

        <div style="overflow: hidden;">

            <div id="panzoom-element">

                <img src="https://picsum.photos/300">

            </div>

        </div>

    </div>

</template>

<script>

import Panzoom from '@panzoom/panzoom'


export default {

    props: {

        options: {type: Object, default: () => {}},

    },

    mounted() {

        this.panzoom = Panzoom(document.getElementById('panzoom-element'), {

            maxScale: 5

        })

    },

    methods : {

        zoom(level){

            level === -1 ? this.panzoom.zoomOut() : this.panzoom.zoomIn()

        }

    }

}


查看完整回答
反对 回复 2022-08-04
  • 1 回答
  • 0 关注
  • 499 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信