引入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. k8s service对象(三)

    概述 service服务也是Kubernetes里核心字眼对象之一,Kubernetes里的每一个service其实就是我们经常提起的微服务架构中的一个微服务,之前讲解Pod,RC等资源对象其实都是为 ...

  2. 详解MongDB数据库

    NoSQL 若杀死进程应使用pkill 数据设计模式:分布式.非关系型.不提供ACID 特性:简单数据模型.源数据和应用数据分离.弱一致性 优势: 避免不必要的复杂性 高吞吐量, 高 水平扩展能力和低 ...

  3. JVM 对象查询语言(OQL)[转载]

    最近生产环境出现一个很奇怪的问题,测试环境无法重现,本地直连生产无法重现.于是用上 jmap + Java VisualVM 的 OQL (Object Query Language) 分析问题. 关 ...

  4. google v8

    https://github.com/tongbai168/v8 https://iwebing.lofter.com/tag/chromium  编译动态库 gyp mylib.gyp --dept ...

  5. 201871010111-刘佳华《面向对象程序设计(java)》第四周学习总结

    201871010111-刘佳华<面向对象程序设计(java)>第四周学习总结 实验时间 2019-9-20 第一部分:总结第四章理论知识 4.1:类与对象的概念. 类:类是构造对象的模板 ...

  6. C#基础表达式语句详解(上)

    本节内容: 1.表达式的定义: 2.各类表达式概览: 3.语句的定义: 4.语句详解: 1.表达式的定义: 1.1什么是表达式: (定义见下图)各类编程语言对表达式的实现不尽相同,但大体上都符合这个定 ...

  7. 每天一道Rust-LeetCode(2019-06-05)

    每天一道Rust-LeetCode(2019-06-05) 最长回文子串 坚持每天一道题,刷题学习Rust. 接续昨天,最长会问字符串的另一种解法 题目描述 解题过程 //leetcode最快解法 / ...

  8. jq form表单渲染单选框内容渲染

    单选框赋值 单选按钮赋值的主要就在于一个value值和name值对应,但是单选的选中状态按钮是input标签的check(选中)属性 当newattr的属性是1的时候为true,或者当newattr的 ...

  9. nexus php composer 私服搭建

    nexus 社区也提供了php composer 私服(当前还在开发中,还没有ga),测试使用构建好的docker 镜像 环境准备 docker-compose 文件 version: "3 ...

  10. [LeetCode] 843. Guess the Word 猜单词

    This problem is an interactive problem new to the LeetCode platform. We are given a word list of uni ...