我试图画一条从一个foreignObject
到另一个的路径。
我希望根据每个对象的中心来定向/设置路径,但只能从距离对象一段距离开始。例如,这里是从一个对象到两个不同对象的直线路径:注意路径的起点不同;相反,它已被调整为位于连接两个对象的线上。
如果路径是一条直线,这很容易实现:只需沿着由对象中心点定义的直线在位移 Δr 处开始和结束路径。
但是,在贝塞尔曲线(二次或三次)的情况下,我不确定如何实现这一点。
如果可以使部分路径透明(即为路径的不同部分设置描边颜色),那么可以只使用中心点并将第一个 Δs px 设置为transparent
; 但是,我不知道有任何方法可以做到这一点。
或者,如果可以独立于用于计算路径的点设置路径的起点和终点,这将解决所有情况(线性、贝塞尔二次或三次)。
另一种选择可能是使用该dash-array
属性,但这需要知道路径的长度。例如,如果路径长度为S
,则将 dash-array 设置为x-calc(S-2x)-x
也可以达到预期的结果。
有没有办法以编程方式实现这一目标?
我不介意跑腿,所以即使只是指向正确方向的指针也会受到赞赏。