getBezierPath()
该 getBezierPath 工具返回了在两个节点之间渲染贝塞尔曲线边所需要的所有内容。
import { Position, getBezierPath } from '@xyflow/svelte';
const source = { x: 0, y: 20 };
const target = { x: 150, y: 100 };
const [path, labelX, labelY, offsetX, offsetY] = getBezierPath({
sourceX: source.x,
sourceY: source.y,
sourcePosition: Position.Right,
targetX: target.x,
targetY: target.y,
targetPosition: Position.Left,
});
console.log(path); //=> "M0,20 C75,20 75,100 150,100"
console.log(labelX, labelY); //=> 75, 60
console.log(offsetX, offsetY); //=> 75, 40签名
| 名称 | 类型 | 默认值 |
|---|---|---|
#参数 | | |
# params | object | |
# params.sourceX | number | |
# params.sourceY | number | |
# params.sourcePosition? | Position | |
# params.targetX | number | |
# params.targetY | number | |
# params.targetPosition? | Position | |
# params.curvature? | number | |
#返回值 | | |
# [0] | string在 SVG <path> 元素中使用的路径。 | |
# [1] | number你可以用来渲染此边标签的 x 位置。 | |
# [2] | number你可以用来渲染此边标签的 y 位置。 | |
# [3] | number源 x 位置与此路径中间的 x 位置之间的绝对差。 | |
# [4] | number源 y 位置与此路径中间的 y 位置之间的绝对差。 | |
注释
- 此函数返回一个元组(又名固定大小的数组),以便更轻松地一次处理多个边路径。