跳到主要内容

Canvas 引擎简介

AgileJS Canvas 是一个基于 HTML Canvas 的轻量级图形编辑和渲染引擎。它提供了强大的插件化架构和自定义渲染器支持,适用于构建站场图、流程图、拓扑图等各类图形应用。

核心特性

  • 插件化架构:通过插件系统扩展功能,支持自定义交互和渲染
  • 高性能渲染:优化的渲染策略,支持大规模图形(10000+ 节点)
  • 移动端支持:支持触摸交互,提供与桌面端一致的用户体验
  • 灵活的交互控制:可配置的交互模式,支持只读、编辑等多种场景
  • 自定义渲染器:支持自定义节点和边的渲染逻辑

快速开始

安装

npm install @fnt-agilejs/core
# 或
pnpm add @fnt-agilejs/core

基础使用

import { CanvasEngine, PanZoomPlugin, DragPlugin } from '@fnt-agilejs/core';

// 创建引擎实例
const engine = new CanvasEngine({
container: document.getElementById('canvas'),
background: '#ffffff',
mode: 'edit',
});

// 注册插件
engine.plugins.use(new PanZoomPlugin());
engine.plugins.use(new DragPlugin());

// 添加节点
engine.graph.addNode({
id: 'node1',
shape: 'rect',
x: 100,
y: 100,
width: 120,
height: 80,
label: '开始'
});

// 启动引擎
engine.start();

文档导航

主要应用场景

  • 轨道站场图:场段图、正线图
  • 流程图编辑器:业务流程建模、工作流设计
  • 拓扑图可视化:网络拓扑、系统架构展示