首先在官网上查到关于画布缩放的知识,如下截图所示:

接下来画布缩放这边,我是写了两个按钮,按钮点击时进行相应的放大和缩小

代码布局如下:

主要代码:

<div><button @click="zoomInFn">放大</button><button @click="zoomOutFn">缩小</button><div id="container"></div>
</div>
zoomInFn () { // 放大this.graph.zoom(0.2)
},
zoomOutFn () { // 缩小this.graph.zoom(-0.2)
},

效果如下图:

完整代码:

<template><div><button @click="zoomInFn">放大</button><button @click="zoomOutFn">缩小</button><div id="container"></div></div>
</template><script>
import { Graph } from '@antv/x6'
import { GridLayout } from '@antv/layout' // umd模式下, const { GridLayout } = window.layout
export default {name: 'X6',mounted () {this.initComponent()},data () {return {data: {}, // X6 数据graph: undefined, // new X6gridLayout: undefined, // new GridLayoutnewModel: undefined}},methods: {zoomInFn () { // 放大this.graph.zoom(0.2)},zoomOutFn () { // 缩小this.graph.zoom(-0.2)},initComponent () {this.data = {nodes: [// 节点{id: 'node1', // String,可选,节点的唯一标识width: 80, // Number,可选,节点大小的 width 值height: 40, // Number,可选,节点大小的 height 值label: 'hello' // String,节点标签},{id: 'node2', // String,节点的唯一标识width: 80, // Number,可选,节点大小的 width 值height: 40, // Number,可选,节点大小的 height 值label: 'world' // String,节点标签}],edges: [// 边{source: 'node1', // String,必须,起始节点 idtarget: 'node2' // String,必须,目标节点 id}]}this.graph = new Graph({container: document.getElementById('container'),width: 800,height: 600,panning: true // 拖拽平移})this.gridLayout = new GridLayout({type: 'grid',width: 600,height: 400,center: [300, 200],rows: 4,cols: 4})this.newModel = this.gridLayout.layout(this.data)this.graph.fromJSON(this.newModel)this.graph.centerContent() // 画布居中}}
}
</script><style scoped></style>

Antv X6画布缩放相关推荐

  1. Antv X6 画布平移

    Antv x6想要实现鼠标拖拽时平移画布,需要加上以下属性即可: panning: true // 拖拽平移 代码布局: 文档地址 效果图如下:

  2. antv x6画布内容居中

    一般情况下,我们使用antv x6画出的图形在画布中不是居中的状态,看上去很奇怪,所以需要一种方法来实现图形在画布中的居中效果 在官网中找到如下方法: this.graph.centerContent ...

  3. VUE中使用Antv.X6实现将侧边导航栏节点拖拽到画布中,并能够将画布保存到缓存中

    直接上代码,参考官网的文档安装完之后可以直接运行. <template><div class="home"><div class="left ...

  4. antv x6 v2 使用笔记

    基础 注意版本,x6不同版本对React的要求是不同的,也需要注意插件版本,不同版本的x6的api可能是不同的 x6 是一个图引擎,多用来画多节点关系的图 最重要的概念就是 节点 Node 和 边 E ...

  5. 在 Vue3 中使用 AntV X6

    在 Vue3 中使用 AntV X6 图编辑引擎 <script setup lang="ts"> import { onMounted, ref } from 'vu ...

  6. antV x6 开发流程图实例

    1)使用x6背景 之前本来是使用jsplumb社区版开发完成的,但是由于jsplumb社区版缩放功能不能满足,所以经过对比其他的流程图插件果断换x6.x6基本满足目前所有需求.使用起来还算顺手. 2) ...

  7. 记录--VUE使用antv X6实现流程图

    安装npm install @antv/x6 --save 引入import { Graph, Addon } from "@antv/x6"; 说明:如果没有自定义拖拽到画布的需 ...

  8. 使用antv/X6实现流程图(包括线条动画流动,路径标签,悬浮窗口等)快速搭建流程图,DAG图等初始实践记录

    文章目录 开始使用 Step 1 创建容器 Step 2 准备数据 Step 3 渲染画布 取消节点的移动 使用不同图形渲染节点 画布居中和缩放 修改边样式 给虚线增加流动效果 修改节点和边的属性 鼠 ...

  9. AntV X6流程图绘制程序(官方示例纯javascript+html+css)

    直接拷贝可用,需要引入官方的x6.js(AntV X6)  antvx6-flow: antv x6实现流程画图 (gitee.com) <!DOCTYPE html> <html ...

最新文章

  1. (C++)输入输出字符矩阵(二维字符数组)的三种方法
  2. 实时通信技术之websocket
  3. python之flask框架详解
  4. 【计算机网络】计算机网络 相关概念 ( 计算机网络概念 | 计算机网络功能 | 组成 | 工作方式 | 功能组成 | 分类 )
  5. 使用Spring Session做分布式会话管理
  6. thinkphp5.0验证码使用
  7. python网易云歌词爬虫_用python爬取网易云音乐歌曲的歌词
  8. 100兆的网速在电脑上怎样测试软件,电脑如何测网速多少兆(台式电脑怎么测网速多少兆)...
  9. 心有景旗,志存远方——湖南安全技术职业学院美和易思愿景图活动
  10. 显示器尺寸 和 屏幕分辨率 和 有源信号分辨率 关系
  11. 几行烂代码,用错 Transactional,我赔了16万。
  12. 奔驰c260语言设置方法图解,奔驰C260L灯光使用方法,C260L灯光开关图解说明
  13. 【JavaBigDecimal练习】利用BigDecimal精确计算欧拉数
  14. 学术英语理工(第二版)Unit5课文翻译
  15. 如何解决服务器证书不受信任,pycharm 如何跳出服务器证书不受信任的提示
  16. Mac 安装 LaTeX(MacTeX)
  17. 区块链软件开发公司 区块链的基本原理
  18. Vue项目在标签中如何书写多个内敛style样式
  19. 世界历史50大著名统治者
  20. MySQL 事务特性以及事务隔离级别

热门文章

  1. 用AI写出的高考作文!
  2. 光猫改桥接之后连接路由器上网的设备不能访问光猫的解决方法
  3. 2020年最新主板型号排行榜
  4. 免费收录外链的分类目录网站推荐
  5. CDOJ 1292 卿学姐种花(暴力,分块,线段树)
  6. 竞赛入门-数据探索性分析(EDA)
  7. 强推6款办公工具,体积小、无广告、超实用
  8. 计算机一级分数安排,2015计算机一级分数分配表
  9. mysql强制索引有什么坏处
  10. 代码丢失,如何找回(有记忆功能的 code编辑软件)