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 位置之间的绝对差。 |
|
注释
- 此函数返回一个元组(又名固定大小的数组),以便更轻松地一次处理多个边路径。