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/ 问题: 注:至于如何使用图标字体( ...
随机推荐
- Python从零开始——字典Dict
一:Python字典知识概览 . 二:字典常见操作 三:字典内置操作函数
- eclipse springboot工程打war包方法及在Tomcat中运行的方法
一, eclipse springboot打war包 1. 配置pom.xml文件 <packaging>war</packaging> <!-- 配置servlet,打 ...
- linux 的 expect 自动交互
https://www.jianshu.com/p/0194cbd70d39 https://www.cnblogs.com/saneri/p/10819348.html 参考 expect是一个自 ...
- adb命令之解锁打卡
adb devicesadb shell input keyevent 26 按手机电源键adb shell input swipe 400 1080 40 ...
- Vuex操作步骤
概念流程图: 案例: (1)src/store/index.js导出仓库 (2)在入口文件引入仓库并派发到每个组件,在入口文件main.js引入,挂载到根组件上,方便以后使用this.$store调用 ...
- 201871010108-高文利《面向对象程序设计(java)》第十三周学习总结
项目 内容 这个作业属于哪个课程 <任课教师博客主页链接> https://www.cnblogs.com/nwnu-daizh/ 这个作业的要求在哪里 <作业链接地址> ht ...
- pycharm 有汉字的地方就有阴影
1.pycharm 有汉字的地方就有阴影 编码申明 阴影就会消失 # _*_ coding:UTF-8
- koa中的路由
原生路由 网站一般都有多个页面.通过ctx.request.path可以获取用户请求的路径,由此实现简单的路由. const main = ctx => { if (ctx.request.pa ...
- spring讲解
今日先简单介绍一下Spring bean 的 5 种效果域,然后详细介绍 singleton 和 prototype 这两种最常用的效果域. JavaSpring Bean的五种效果域 效果域的种类 ...
- springboot模板(Freemarker与Thymeleaf)
Thymeleaf模板 Thymeleaf就是html页面 导入pom依赖 <dependency> <groupId>org.springframework.boot< ...