LogicFlow 学习笔记——7. LogicFlow 基础 背景 Background

背景 Background

提供可以修改画布背景的方法,包括背景颜色或背景图片,背景层位于画布的最底层。 info

创建画布时,通过 background 选项来设置画布的背景层样式,支持透传任何样式属性到背景层。默认值为 false 表示没有背景。

typescript 复制代码
const lf = new LogicFlow({
  background: false | BackgroundConfig,
});

type BackgroundConfig = {
  backgroundImage?: string,
  backgroundColor?: string,
  backgroundRepeat?: string,
  backgroundPosition?: string,
  backgroundSize?: string,
  backgroundOpacity?: number,
  filter?: string, // 滤镜
  [key: any]: any,
};

配置项

设置背景颜色

typescript 复制代码
const lf = new LogicFlow({
  // ...
  background: {
    backgroundImage: "url(../asserts/img/grid.svg)",
    backgroundRepeat: "repeat",
  },
});

Demo:

在项目中的public目录下新增一个目录img并在其中创建一个背景 svg,如下所示:

新建 src/views/Example/LogicFlow/Example12.vue 代码如下:

html 复制代码
<script setup lang="ts">
import LogicFlow from '@logicflow/core'
import '@logicflow/core/dist/style/index.css'
import { onMounted } from 'vue'

// 定义图表数据,包含节点和边
const data = {
  nodes: [
    {
      id: '1',
      type: 'rect', // 节点类型为矩形
      x: 100, // 节点的 x 坐标
      y: 100, // 节点的 y 坐标
      text: '节点1' // 节点显示的文本
    },
    {
      id: '2',
      type: 'circle', // 节点类型为圆形
      x: 300, // 节点的 x 坐标
      y: 100, // 节点的 y 坐标
      text: '节点2' // 节点显示的文本
    }
  ],
  edges: [
    {
      sourceNodeId: '1', // 起始节点的 ID
      targetNodeId: '2', // 目标节点的 ID
      type: 'polyline', // 边的类型为折线
      text: '连线', // 边显示的文本
      startPoint: {
        x: 140, // 边起点的 x 坐标
        y: 100 // 边起点的 y 坐标
      },
      endPoint: {
        x: 250, // 边终点的 x 坐标
        y: 100 // 边终点的 y 坐标
      }
    }
  ]
}

// 在组件挂载时执行
onMounted(() => {
  // 创建 LogicFlow 实例
  const lf = new LogicFlow({
    container: document.getElementById('container')!, // 指定容器元素
    background: {
      backgroundImage: "url('../../../img/grid.svg')",
      backgroundRepeat: 'repeat'
    }
  })
  // 渲染图表数据
  lf.render(data)
})
</script>

<template>
  <h3>Example12</h3>
  <div id="container"></div>
  <!-- 用于显示 LogicFlow 图表的容器 -->
</template>

<style>
#container {
  /* 容器宽度 */
  width: 100%;
  /* 容器高度 */
  height: 500px;
}
</style>

运行后结果如下:

可以看到画布的背景已经修改。


样例代码

相关推荐
Linux-lucky7 小时前
32-38-Linux学习之旅之MySQL综合
linux·运维·学习·mysql·ubuntu
知识分享小能手8 小时前
C++ 学习教程,从入门到精通,C++ 入门知识 — 完整知识点(1)
开发语言·c++·学习
马可家的菠萝9 小时前
你收藏的资料,有多少真的被你第二次打开过?
笔记·知识管理·效率提升·个人知识库
小刘在重生~10 小时前
Java Lock 显式锁案例|ReentrantLock 解决多线程安全问题(超详细实战)
java·笔记·面试
职豚求职小程序10 小时前
中国人寿27秋招笔试[特殊字符]北森机考|备考攻略
笔记
江湖人称菠萝包10 小时前
【Qt】《Qt 5.9 C++开发指南》笔记-Chapter9-Qt Charts
笔记·qt·qt5
乐橙开放平台11 小时前
从「多套客户端」到一套开放能力:乐橙视频监控能力复盘
笔记·物联网·自动化·音视频·智能家居
AI职业加油站11 小时前
数据要素价值释放年:大数据治理工程师,站上职业新风口
人工智能·学习·职场和发展·数据分析·职场发展
啄缘之间11 小时前
1.【SVA】什么是SVA?
经验分享·学习·测试用例·verilog·sva
山岚的运维笔记11 小时前
mysql 专业笔记 -- 第 36 章:MySQL 管理
运维·数据库·笔记·后端·mysql·oracle·dba