引入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. 【原创】Talend 配置SSL支持gitlab

    背景 talend的源代码控制用的是gitlab,以前都是http方式的,但是最近突然改了https,所以talend登录失败,必须要SSL方式才能获取到分支等数据,才能提交代码. 证书导入 1.ta ...

  2. Java代码实现定时器

    一 import java.util.Timer; import java.util.TimerTask; public class time { public static void main(St ...

  3. Shell脚本(2)

    命令替换: Shell脚本可以从命令输出中提取信息,并将其赋给变量 方法: 1.反引号字符:` 2.格式:$() 例子:#/bin/bash test=$(date) echo "the d ...

  4. Windows Server 2016-Hyper-V Replica副本功能介绍

    Hyper-V副本是一种可用于复制虚拟机的功能,作为业务连续性解决方案的一部分.从Windows Server 2012中,Hyper-V角色引入了Hyper-V Replica作为虚拟机的内置复制机 ...

  5. lf 前后端分离 (6) 支付

    支付 import datetime from django.core.exceptions import ObjectDoesNotExist from rest_framework.views i ...

  6. LOJ 510: 「LibreOJ NOI Round #1」北校门外的回忆

    题目传送门:LOJ #510. 题意简述: 给出一个在 \(K\) 进制下的树状数组,但是它的实现有问题. 形式化地说,令 \(\mathrm{lowbit}(x)\) 为在 \(K\) 进制下的 \ ...

  7. 浅析struct device结构体

    device结构体:设备驱动模型中的基础结构体之一 struct device { /*设备所依附的父设备 大多数情况下,这样的设备是某种总线或主控制器 如果该成员变量的值为NULL,表示当前设备是一 ...

  8. Install docker to Redhat 7

    1)   sudo yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo 2) s ...

  9. 003VlookUp的使用

    在Excel中,Vlookup这个函数还是挺有用的 我最近在一个场景中使用到VlookUp函数,使用场景是 我们将学生名单导入到学业上报系统的时候,发现Excel中有 79条数据但是导入成功的提示是说 ...

  10. <Array> 274 275

    274. H-Index 这道题让我们求H指数,这个质数是用来衡量研究人员的学术水平的质数,定义为一个人的学术文章有n篇分别被引用了n次,那么H指数就是n. 用桶排序,按引用数从后往前计算论文数量,当 ...