svg图片拖动与缩放
引入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图片拖动与缩放的更多相关文章
- Android拖动和缩放图片
Android拖动和缩放图片 2014年5月9日 我们在使用应用其中常常须要浏览图片.比方在微信其中.点击图片之后能够对图片进行缩放. 本博客介绍怎样对图片进行拖拽和缩放.这首先要了解Android中 ...
- android图片拖动缩放
这篇图片拖拽缩放也是我在项目中用到的,今天整理一下,将源码奉献给大家,希望对大家以后碰到相似的问题有帮助.android 大图片拖拽缩放 这篇就不做过多介绍了,直接上源码: public class ...
- svg技术(可缩放矢量图形)介绍
公司里面的产品用图表的地方也比较多,作为平台维护的我,收到几次需求提的建议中包括图表美化的功能,要炫,要3d,立体感,功能要强大等到:平台现有控件都是用的一个开源flash,我对flash虽然会一点但 ...
- JS控制图片拖动 放大 缩小 旋转 支持滚轮放大缩小 IE有效
<html> <head> <title>图片拖动,放大,缩小,转向</title> <script type="text/ja ...
- Bootstrap 3的box-sizing样式导致UMeditor控件的图片无法正常缩放
UMeditor组件是百度提供的一套开源的web在线所见即所得富文本编辑器,是UEditor的简化版,UM的主要特点就是容量和加载速度上的改变,主文件的代码量为139k,而且放弃了使用传统的ifram ...
- WinForm版图像编辑小程序(实现图像拖动、缩放、旋转、抠图)
闲暇之余,开发一个图片编辑小程序.程序主要特点就是可方便的对多个图像编辑,实现了一些基本的操作.本文主要介绍一下程序的功能.设计思路. 执行程序 下载地址: 百度网盘.https://pan.baid ...
- Android拖动和缩放
拖拽和缩放 多点触控的理论学完了之后,这里开始实践.本节主要介绍使用onTouchEvent()方法处理触控事件. 拖动一个对象 如果你使用的是Android 3.0或者之后的系统,那么你可以使用内置 ...
- UWP应用载入SVG图片的兼容性方案
原文 UWP应用载入SVG图片的兼容性方案 新版本<纸书科学计算器>的更新点之一,就是优化了表达式的显示方式.在旧版本中,表达式里的符号是用png图片显示的,当用户放大看的时候会发现一些锯 ...
- 使用在线编辑 svg 软件修改 svg 图片
网站需要使用图标字体,但设计师给的图标大小有问题,故使用下面说陈述方法简单修改了一下.使用到的在线编辑软件地址为:https://editor.method.ac/ 问题: 注:至于如何使用图标字体( ...
随机推荐
- Linux服务器下载与上传文件
一.图形化工具 FileZilla.SecureCRT,连接Linux服务器后直接操作 二.命令 使用终端模拟软件连接服务器后,首先安装lrzsz工具包 yum install lrzsz rz ,上 ...
- 【Spring Boot】Spring Boot之使用ImportSelector类实现动态注册Bean
一.ImportSelector类介绍 可以通过指定的选择条件来决定哪些类被注册到Spring中.与ImportBeanDefinitionRegistrar类功能相似,通过@Import的方 ...
- 4、Work-Queue
Work Queues using the Java Client In the first tutorial we wrote programs to send and receive messag ...
- Linux---基本目录与文件命令
一.目录 1.显示工作目录命令pwd 2.改变工作目录命令cd 3.创建目录命令mkdir 二.文件 1.创建空文件命令touch 2.显示文件列表ls 3.复制文件或目录命令cp 4.删除文件或目录 ...
- android onActivityResult不被回调或窗体弹出后即补回调的解决办法
假设从A窗体弹出B窗体,则在AndroidManifest.xml文件中,B不能有:android:launchMode="singleTask“属性,否则,A窗体里的onActivityR ...
- batch、epoch、iteration
深度学习的优化算法,说白了就是梯度下降.每次的参数更新有两种方式. 第一种,遍历全部数据集算一次损失函数,然后算函数对各个参数的梯度,更新梯度.这种方法每更新一次参数都要把数据集里的所有样本都看一遍, ...
- Python搭建HTTP服务
我们平时可能会需要HTTP服务,本机搭建一个服务器来完成有些过于繁琐,这时就可以用python帮我们搭建一个HTTP服务器,省时高效. python 2.x 输入命令:python -m Simple ...
- 关于const关键字
const:ES6新增关键字,用于声明创建一个值的只读引用. 我们都知道,const一般用来定义常量,在声明的时候需要赋初始值,而且初始值一旦赋值,便不能改变. 但是以上说的是针对于基本类型数据的定义 ...
- IAR环境搭建
工具下载:https://pan.baidu.com/s/1nwv0RVz 第一步:右键点击EW8051-EV-8103-Web.exe,使用管理员权限运行. 第二步:我们运行之后只要一直Next下去 ...
- AOP小记
编程思想演进:POP(Procedure Oriented Programming)-> OOP(Object Oriented Programming)-> AOP(Aspect Ori ...