引入jquery.js文件,svg-pan-zoom.min.js文件 和 hammer.min.js 文件

这三个文件可以在网上搜一下下载

 //svg拖动和缩放
initPanZoom() {
this.panZoom = svgPanZoom("#svgId", {
zoomEnabled: true,
controlIconsEnabled: false,
fit: true,
center: true,
minZoom: 0.5,
maxZoom: 10,
preventMouseEventsDefault: false,
customEventsHandler: {
haltEventListeners: [
"touchstart",
"touchend",
"touchmove",
"touchleave",
"touchcancel"
],
init: function(svgopts) {
var instance = svgopts.instance,
initialScale = 1,
pannedX = 0,
pannedY = 0;
// Init Hammer
// Listen only for pointer and touch events
(this.hammer = Hammer(svgopts.svgElement, {
inputClass: Hammer.SUPPORT_POINTER_EVENTS ?
Hammer.PointerEventInput : Hammer.TouchInput
})),
// Enable pinch
this.hammer.get("pinch").set({ enable: true }),
// Handle double tap
this.hammer.on("doubletap", function(ev) {
//instance.zoomIn();
}),
// Handle pan
this.hammer.on("panstart panmove", function(ev) {
// On pan start reset panned variables
if (ev.type === "panstart") {
pannedX = 0;
pannedY = 0;
} // Pan only the difference
instance.panBy({
x: ev.deltaX - pannedX,
y: ev.deltaY - pannedY
});
pannedX = ev.deltaX;
pannedY = ev.deltaY;
}),
// Handle pinch
this.hammer.on("pinchstart pinchmove", function(ev) {
// On pinch start remember initial zoom
if (ev.type === "pinchstart") {
initialScale = instance.getZoom();
instance.zoom(initialScale * ev.scale);
} instance.zoom(initialScale * ev.scale);
}),
// Prevent moving the page on some devices when panning over SVG
svgopts.svgElement.addEventListener("touchmove", function(e) {
e.preventDefault();
});
}, destroy: function() {
this.hammer.destroy();
}
}
});
},

加上这段代码,#svgId 换成 对应 svg 的id ,没有id可以通过js或jq设置id值

初始化页面调用该方法即可实现

svg图片拖动与缩放的更多相关文章

  1. Android拖动和缩放图片

    Android拖动和缩放图片 2014年5月9日 我们在使用应用其中常常须要浏览图片.比方在微信其中.点击图片之后能够对图片进行缩放. 本博客介绍怎样对图片进行拖拽和缩放.这首先要了解Android中 ...

  2. android图片拖动缩放

    这篇图片拖拽缩放也是我在项目中用到的,今天整理一下,将源码奉献给大家,希望对大家以后碰到相似的问题有帮助.android 大图片拖拽缩放 这篇就不做过多介绍了,直接上源码: public class ...

  3. svg技术(可缩放矢量图形)介绍

    公司里面的产品用图表的地方也比较多,作为平台维护的我,收到几次需求提的建议中包括图表美化的功能,要炫,要3d,立体感,功能要强大等到:平台现有控件都是用的一个开源flash,我对flash虽然会一点但 ...

  4. JS控制图片拖动 放大 缩小 旋转 支持滚轮放大缩小 IE有效

    <html> <head>     <title>图片拖动,放大,缩小,转向</title> <script type="text/ja ...

  5. Bootstrap 3的box-sizing样式导致UMeditor控件的图片无法正常缩放

    UMeditor组件是百度提供的一套开源的web在线所见即所得富文本编辑器,是UEditor的简化版,UM的主要特点就是容量和加载速度上的改变,主文件的代码量为139k,而且放弃了使用传统的ifram ...

  6. WinForm版图像编辑小程序(实现图像拖动、缩放、旋转、抠图)

    闲暇之余,开发一个图片编辑小程序.程序主要特点就是可方便的对多个图像编辑,实现了一些基本的操作.本文主要介绍一下程序的功能.设计思路. 执行程序 下载地址: 百度网盘.https://pan.baid ...

  7. Android拖动和缩放

    拖拽和缩放 多点触控的理论学完了之后,这里开始实践.本节主要介绍使用onTouchEvent()方法处理触控事件. 拖动一个对象 如果你使用的是Android 3.0或者之后的系统,那么你可以使用内置 ...

  8. UWP应用载入SVG图片的兼容性方案

    原文 UWP应用载入SVG图片的兼容性方案 新版本<纸书科学计算器>的更新点之一,就是优化了表达式的显示方式.在旧版本中,表达式里的符号是用png图片显示的,当用户放大看的时候会发现一些锯 ...

  9. 使用在线编辑 svg 软件修改 svg 图片

    网站需要使用图标字体,但设计师给的图标大小有问题,故使用下面说陈述方法简单修改了一下.使用到的在线编辑软件地址为:https://editor.method.ac/ 问题: 注:至于如何使用图标字体( ...

随机推荐

  1. mysql Waiting for table flush

    应用突然被hang住了,tomcat日志报错,所有涉及到数据库的操作都报错,卡死. show processlist 查看到大量的:Waiting for table flush 应该是 进行了 dd ...

  2. Golang 需要避免踩的 50 个坑(三)

    前言 Go 是一门简单有趣的编程语言,与其他语言一样,在使用时不免会遇到很多坑,不过它们大多不是 Go 本身的设计缺陷.如果你刚从其他语言转到 Go,那这篇文章里的坑多半会踩到. 如果花时间学习官方 ...

  3. Python从零开始——集合Set

    一:Python集合知识概览 二:Python的特性.格式.以及各序列结构对比 三:Python集合set的创建 四:集合常用操作之——添加元素 五:集合常见操作之——删除元素 六:集合常见操作之—— ...

  4. Centos7安装elasticSearch6

                                                    Elasticsearch6.0 1.Elasticsearch: Elasticsearch是一个基于 ...

  5. R 基于朴素贝叶斯模型实现手机垃圾短信过滤

    # 读取数数据, 查看数据结构 df_raw <- read.csv("sms_spam.csv", stringsAsFactors=F) str(df_raw) leng ...

  6. 03导航链接的制作(wx:for循环)和小程序警告request fail url not in domain list

    06==>导航链接的制作 <!-- 导航链接 --> <navigator url="../list/list" hover-class="nav ...

  7. 4-剑指offer: 把数组排成最小的数

    题目描述 输入一个正整数数组,把数组里所有数字拼接起来排成一个数,打印能拼接出的所有数字中最小的一个.例如输入数组{3,32,321},则打印出这三个数字能排成的最小数字为321323. 代码: cl ...

  8. c# 第15节 StringBuilder

    本节内容: 1:StringBuilder 2:内容总结 1:StringBuilder 实例: 2:内容总结 项目:

  9. ipc.Client: Retrying connect to server: .../10.0.0.27:10020. Already tried 6 time(s); retry policy is RetryUpToMaximumCountWithFixedSleep(maxRetries=10, sleepTime=1 SECONDS)

    运行 时候爆出这个错 Exception in thread "main" java.io.IOException: java.net.ConnectException: Call ...

  10. idea中使用python环境

    idea中使用python环境,需要下载相关的python sdk 可以添加选择自己的python环境